Wordで画像を挿入した際、
画像の下側だけが表示される現象に遭遇し、その解決方法のメモ。
「ファイル」-「オプション」-「詳細設定」を選択します。
「切り取り、コピー、貼り付け」項目の
「図を挿入/貼り付ける形式」で「背面」を選択します。
ここが「行内」になっていると画像を行内に収めようと
画像の下側だけが表示されるようです。
Wordで画像を挿入した際、
画像の下側だけが表示される現象に遭遇し、その解決方法のメモ。
「ファイル」-「オプション」-「詳細設定」を選択します。
「切り取り、コピー、貼り付け」項目の
「図を挿入/貼り付ける形式」で「背面」を選択します。
ここが「行内」になっていると画像を行内に収めようと
画像の下側だけが表示されるようです。
Photshopの代わりとして有名な画像フリーソフトのGIMPを利用しました。
少しでもエビデンスの取得を効率化するために、
下記手順でテストを行うことを想定。
今回は全ケースを一括実行します。
DBはDB2としています。
@ECHO OFF
REM ケースごとのフォルダは作成済とします。
REM コマンドプロンプトを立ち上げ、「db2cmd 01_BAFORE_UT.bat」で実行します。
REM *************************************************************
REM DB設定(各自の設定に変更してください。)
REM *************************************************************
SET SERVER_I=XXXXX
SET USER_ID=YYYYY
SET USER_PASS=ZZZZZ
REM *************************************************************
REM DB2接続
REM -t:SQLファイル内のセミコロンをステートメント終了文字とする。
REM -v:コマンドテキストを標準出力にエコーする。
REM *************************************************************
db2 -tv connect to %SERVER_ID% user %USER_ID% using %USER_PASS%;
REM *************************************************************
REM エビデンスフォルダ設定
REM /b:フルパスを表示しない。
REM /ad:フォルダー名のみ表示する。
REM *************************************************************
DIR /b /ad > file_list.txt
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f %%a IN (file_list.txt) DO (
SET EVI_DIR=%%a
SET SQL_OUTPUT=!EVI_DIR!\10_SQL_LOG_Before
MKDIR !SQL_OUTPUT!
ECHO !SQL_OUTPUT!
REM *************************************************************
REM SQL実行
REM -t:SQLファイル内のセミコロンをステートメント終了文字とする。
REM -v:コマンドテキストを標準出力にエコーする。
REM -f:ファイル名を指定する。SQL文をファイルから読み込む。
REM *************************************************************
db2 -tvf select_AAA.sql > %SQL_OUTPUT%\select_AAA.log
)
ENDLOCAL
DEL file_list.txt
REM *************************************************************
REM DB2切断
REM *************************************************************
db2 connect reset
useradd -s /sbin/nologin tomcat
/sbin/nologinシェルを指定し、通常利用不可とする。
バージョンは「apache-tomcat-7.0.50.tar.gz」にしました。
サーバーに配置しておきます。
tar xvzf apache-tomcat-7.0.50.tar.gz mv apache-tomcat-7.0.50 /usr/local cd /usr/local chown -R tomcat.tomcat apache-tomcat-7.0.50 ln -s apache-tomcat-7.0.50 tomcat
下記3つのうちのどれかに記載します。
【共通設定】 /etc/profile 「JAVA_HOME」や「CATALINA_HOME」の値を設定する。 【環境変数設定】 $CATALINA_HOME/bin/setenv.sh 「JAVA_OPTS」や「CATALINA_OPTS」の値を設定する。 【クラスパス設定】 $CATALINA_HOME/bin/setclasspath.sh 追加のjarファイル等を設定する。
今回は共通設定に追加します。
AWSの場合、JAVA_HOMEは設定済なので、CATALINA_HOMEだけ設定します。
vi /etc/profile
下記を最終行に追加 export CATALINA_HOME=/usr/local/tomcat
環境変数を適用しておきます。
source /etc/profile
AWSコンソール画面から「セキュリティグループ」-「インバウンド」で
以下を許可しておきます。
プロトコル:TCP ポート:8080
Tomcatをtomcatユーザで起動します。
sudo -u tomcat /usr/local/tomcat/bin/startup.sh
http://xxx.xxx.xxx.xxx:8080/examples/servlets/
「Servlet Examples with Code」の画面が出れば成功です。
併せてrootユーザではなくtomcatユーザで動作していることを確認します。
ps -ef | grep tomcat
tomcat プロセスID 親プロセスID プロセッサ使用率 プロセスの起動時刻 制御端末 累積時間 略
startup.shはrootユーザで実行しないこと。
初回でrootユーザで実行するとログファイルがrootユーザで作成されてしまい、
tomcat専用ユーザでstartup.shを実行しても権限がないと言われてしまうので、
そうなった場合、1度ログを削除すれば問題なし。
sudo -u tomcat /usr/local/tomcat/bin/shutdown.sh
java -version
java version "1.7.0_85" OpenJDK Runtime Environment (amzn-2.6.1.3.61.amzn1-x86_64 u85-b01) OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode)
JAVA_HOMEも設定済のため、そのまま利用する。
JAVA_HOMEは下記パスを参照している。
/usr/lib/jvm/jre
vi /etc/sysconfig/i18n
下記内容に変更 LANG=en_US.UTF-8 ↓ LANG=ja_JP.UTF-8
sudo su - passwd New password: 任意の文字列 Retype new password: 任意の文字列
cp -p /usr/share/zoneinfo/Japan /etc/localtime
上書きするか確認されるので、上書きします。
dateコマンドを打って日本時間になっていれば問題ありません。
しかし、上記方法だけでは、「/etc/localtime」はglibcパッケージが更新されると、
パッケージ更新に含まれるスクリプトによりUTCに戻ってしまいます。
AWSではcloud_initがインスタンスの起動時にセキュリティの更新を実行するので、
そのタイミングで設定が初期化されてしまいます。
そこで以下の設定も行います。
vi /etc/sysconfig/clock
ZONE="Asia/Tokyo" UTC=false
「ルートアカウントのMFAをアクティブ化」を行います。
=2段階認証を行います。
2段階認証にはiPhoneアプリの「Authy」を利用します。
「ルートアカウントのMFAをアクティブ化」を選択し、
「MFAの管理」ボタンを押下します。
「仮想MFAデバイス」を選択し、「次のステップ」ボタンを押下します。
説明を読んだら、「次のステップ」ボタンを押下します。
QRコードを「Authy」で読み取ります。
読み取ると6桁の数字が出るので、それを認証コード1へ、
秒数経過でさらに6桁の数字が出るので、それを認証コード2へ。
「仮想MFAのアクティブ化」ボタンを押下すると関連付けが完了します。
上部の「サービス」-「IAM」を選択します。
左側の「ユーザー」を選択します。
「新規ユーザーの作成」ボタンを押下します。
ユーザー名を1名分入力し、「作成」ボタンを押下します。
認証情報を「認証情報のダウンロード」ボタンを押下し、ダウンロードしておきます。
このファイル内の「Access Key Id」「Secret Access Key」は
後程、iPhone用のAWS起動アプリで利用します。
AWS(AmazonWebService)が個人でも1年間無料とのことで利用してみました。
AWSのサイトでamazonのログインとパスワードでサインインし、
EC2でインスタンスを作成します。
また、使ったことはないですが、
ローカルにAmazonコマンドラインインターフェース(AWS CLI)というツールを
インストールしておくと、
コマンドライン上から「aws 任意のコマンド」でAWSを操作できるようです。
常時起動するサーバーにしないため、許可する送信元も初期設定のままとします。
ダイアログで「新しいキーペアの作成」を選択し、キーペア名を入力します。
「インスタンスの作成」ボタンを押下します。
ものの5分程度の手順で仮想サーバーが作れるって
正直便利すぎると思いました。
予想請求額の通知を受け取る設定で0円より大きくなったら
通知を受け取るようにしておきます。(念のため)
約1年ずっと起動していたRaspberry Piもとうとう再起動しました。
それに伴い、iPhoneからRaspberry PiのOpenVPNを介して、
自宅サーバに接続しようと思ったところ、接続できなかったので設定を見直し。
iptables -t filter -A INPUT -i eth0 -p udp -m udp --dport 1194 -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 192.168.XXX.XXX
「–to」にはRaspberry Piの通常のIPを指定します。
再起動すると設定が消えるため、自動設定できるようにするのが良いですが、
まだ自動化できていません。
設定後、ufw(iptable)の再起動は不要です。
この内容は「【Raspbian】OpenVPN導入その2」の最後の方にも記載がありますが、
見逃しがちなので、再度記載しました。
Dir関数を用いるため、ネットワーク上の長いファイルパスには未対応です。
Sub Test()
'
' Test Macro
'
' フォルダ内のファイルに対して処理を行います。
'
' 画面チラつきを防止する。
Application.ScreenUpdating = False
' フォルダパスとファイル名を宣言する。
Dim strFilePath As String
Dim strFileNmae As String
' テキストボックスかセル入力でフォルダを指定させる。
strFilePath = "C:\Users\test\Desktop\テストディレクトリ"
strFilePath = Worksheets("sheet1").Cells(2, 1).Value
' 末尾が\ではない場合、\を追加する。(未実装)
strFilePath = strFilePath & "\"
' 指定フォルダ内のファイル名を取得する。
strFileName = Dir(strFilePath, vbNormal)
' 結果シートをアクティブにする。
Worksheets("sheet1").Activate
' 結果シートの行数を宣言する。
Dim longGyo As Long
longGyo = 3
' 指定フォルダ内のファイルがなくなるまで繰り返す。
Do While strFileName <> ""
' 結果配列とシート数を宣言する。
Dim strArr() As String
Dim sheetCnt As Long
' ファイルを開く。
With Workbooks.Open(Filename:=strFilePath & strFileName)
' ファイル内のシート数を取得する。
sheetCnt = .Worksheets.Count
' ファイル内のシート数分+チェックしたい項目数分の2次元配列を確保する。
ReDim strArr(1 To sheetCnt + 1, 10)
' 1シート目からnシート目まで繰り返す。
Dim i As Long
For i = 1 To sheetCnt
strArr(i, 0) = .Worksheets(i).Name
strArr(i, 1) = .Worksheets(i).Cells(3, 4).Value
strArr(i, 2) = .Worksheets(i).PageSetup.LeftHeader
strArr(i, 3) = .Worksheets(i).PageSetup.CenterHeader
strArr(i, 4) = .Worksheets(i).PageSetup.RightHeader
strArr(i, 5) = .Worksheets(i).PageSetup.LeftFooter
strArr(i, 6) = .Worksheets(i).PageSetup.CenterFooter
strArr(i, 7) = .Worksheets(i).PageSetup.RightFooter
.Worksheets(i).Select
strArr(i, 8) = ActiveWindow.Zoom
strArr(i, 9) = ActiveCell.Address
Next i
' 保存せずファイルを閉じる。
.Close SaveChanges:=False
End With
' 配列の1からnまで繰り返す。
Dim j As Long
For j = 1 To sheetCnt
' 結果シートのセルに各ファイルの各シートの値を設定する。
Cells(longGyo, 1).Value = strFilePath & strFileName
Cells(longGyo, 2).Value = strArr(j, 0)
Cells(longGyo, 3).Value = strArr(j, 1)
Cells(longGyo, 4).Value = strArr(j, 2)
Cells(longGyo, 5).Value = strArr(j, 3)
Cells(longGyo, 6).Value = strArr(j, 4)
Cells(longGyo, 7).Value = strArr(j, 5)
Cells(longGyo, 8).Value = strArr(j, 6)
Cells(longGyo, 9).Value = strArr(j, 7)
Cells(longGyo, 10).Value = strArr(j, 8)
Cells(longGyo, 11).Value = strArr(j, 9)
longGyo = longGyo + 1
Next j
' 次のファイルを取得する。
strFileName = Dir()
Loop
' 画面チラつき防止を解除する。
Application.ScreenUpdating = True
End Sub