運用・保守業務を実施されている方は月次、年次で報告書を提出することが多いと思います。
報告書の中には対応した内容や、サーバーのリソース状況、運用状況等を記載することが
わたしは多いですが、中でも画像を貼ることが結構あります。
各種システムのGUIにより取得した情報や監視サーバのグラフ画像等をキャプチャツール等で
切り出し、それをWordにペタペタはっていく・・・
かなり面倒な作業ですよね・・・
台数が少なければまだしも、運用対象が100台とかになるととても大変かと思います。
私が運用業務の不可軽減のために実施している「Word画像貼り付けマクロ」をご紹介したいと思います。
どのような動きになるか
では実際にどのよな動きになるか先にご紹介したいと思います。
構成・環境は下記となります。
上記の構成とし、wordにてマクロを実行すると、下記のようにwordに自動で画像が
貼り付けされます。
実際のマクロ例
下記が実際のマクロ記載例となります。
Option Explicit Sub main() Application.ScreenUpdating = False Dim xlist() As String xlist = Split("test1.png,test2.png,", ",") Dim item As Variant Dim filepath As String filepath = "C:\Users\user\Desktop\" Dim objWSH As Object Set objWSH = CreateObject("WScript.Shell") For Each item In xlist Dim filename As String filename = filepath & item With Selection.Find .ClearFormatting .Text = item .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = True .Execute End With Selection.InlineShapes.AddPicture _ filename:=filename, _ LinkToFile:=False, _ SaveWithDocument:=True With Selection .MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend End With Next MsgBox "貼り付け完了" End Sub
重要な項目を説明していきます。
7行目
貼り付ける画像の名前をすべて書き出します。上記では「test1.png」「test2.png」の画像2枚での想定ですが、4枚ある場合は下記のように修正します。
13行目
貼り付ける画像が保存されているフォルダパスを記載します。フォルダを右クリックし、「プロパティ」より確認しましょう。
マクロの新規作成方法
マクロの新規作成はword上で「Altボタン」+「F8」ボタンをおします。するとウィンドウが立ち上がるのでマクロ名を任意で入力し、「作成」をクリックします。
デフォルトで入力されているものをすべて消し、↑で記載したマクロ例をコピーアンドペーストします。
画像名(7行目)、画像が保存されているフォルダパス(13行目)をご自身の環境に合わせることを忘れずに!
コピペが終わったら「ctrl」+「S」などで保存し、画面を閉じます。
wordの画像貼り付け位置に画像名を記載する
実際に貼り付けたい位置に画像名を記載します。拡張子(.png .jpgなど)もきちんと記載しないと貼り付けが実行されません。
下記の場合だと、「test1.png」「test2.png」と記載した個所に画像が貼り付けられていきます。
記載し終わったらこちらも「Ctrl」+「S」等で保存しておきます。
マクロ実行方法
実行方法は「Alt」+「F8」でマクロを呼び出し、「実行」をクリックします。マクロの記述が上手くできていればあとは自動で画像を貼り付けてくれます。
処理が完了すると「貼り付け完了」と表示されるので、OKをクリックします。
いかがだったでしょうか。今回ご紹介したのは保存した画像の貼り付けを自動化するマクロですが、もし画像取得・保存まで自動化することができたらほぼ自動化することができます。
貼り付けだけでも自動化することができれば運用作業の負担を軽減できるかとおもいますので、ぜひお試しください。
以上、皆さんのお役に立てれば幸いです。