IT・ICT

Wordへの画像貼り付け自動化!画像貼り付けマクロの記載方法

投稿日:2018年5月19日 更新日:

運用・保守業務を実施されている方は月次、年次で報告書を提出することが多いと思います。
報告書の中には対応した内容や、サーバーのリソース状況、運用状況等を記載することが
わたしは多いですが、中でも画像を貼ることが結構あります。

各種システムの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枚ある場合は下記のように修正します。

xlist = Split(“test1.png,test2.png,test3.png,test4.png,”, “,”)

 

13行目

貼り付ける画像が保存されているフォルダパスを記載します。フォルダを右クリックし、「プロパティ」より確認しましょう。

 

マクロの新規作成方法

マクロの新規作成はword上で「Altボタン」+「F8」ボタンをおします。するとウィンドウが立ち上がるのでマクロ名を任意で入力し、「作成」をクリックします。

デフォルトで入力されているものをすべて消し、↑で記載したマクロ例をコピーアンドペーストします。

画像名(7行目)、画像が保存されているフォルダパス(13行目)をご自身の環境に合わせることを忘れずに!

コピペが終わったら「ctrl」+「S」などで保存し、画面を閉じます。

 

wordの画像貼り付け位置に画像名を記載する

実際に貼り付けたい位置に画像名を記載します。拡張子(.png .jpgなど)もきちんと記載しないと貼り付けが実行されません。

下記の場合だと、「test1.png」「test2.png」と記載した個所に画像が貼り付けられていきます。

記載し終わったらこちらも「Ctrl」+「S」等で保存しておきます。

 

マクロ実行方法

実行方法は「Alt」+「F8」でマクロを呼び出し、「実行」をクリックします。マクロの記述が上手くできていればあとは自動で画像を貼り付けてくれます。

処理が完了すると「貼り付け完了」と表示されるので、OKをクリックします。

 

いかがだったでしょうか。今回ご紹介したのは保存した画像の貼り付けを自動化するマクロですが、もし画像取得・保存まで自動化することができたらほぼ自動化することができます。

貼り付けだけでも自動化することができれば運用作業の負担を軽減できるかとおもいますので、ぜひお試しください。

以上、皆さんのお役に立てれば幸いです。

-IT・ICT


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

メールアカウント作成作業を短縮!bashスクリプトによるメールアカウント一括作成

メールサーバー新規構築時等、メールアカウント作成作業って単純だけど手間ですよね・・ メールアカウント数が10とか20とかならまだしも1000とかあったら地獄!しかもメールアカウント作成に加え、パスワー …

Zabbix 3.2.4でスクリプトによる監視(UserParameter)

今回はZabbixのデフォルトで用意されていない監視を実施できるUserParameterという 機能を紹介していきます。 Zabbixはサーバ側に設置したスクリプトを利用し、監視項目として 取得する …

vmware workstation 14 Player へ Centos7.2のインストール方法

Windowsのパソコンなどに仮想マシンを作成し動作させることができる「vmware workstation 12 player」を 利用し、Centos7.2 をインストールする方法を紹介したいと思 …

一日一回だけスクリプトを実行したい!Zabbix3.2.4 更新間隔:定期設定にて制御する

皆さんは日々の運用業務でZabbixを有効活用していますか? 今回はZabbixアイテムの設定項目の一つ更新間隔:定期設定をご紹介したいと思います。   サーバやネットワーク機器の監視・運用 …

冗長化試験などに最適!Ciscoでconfigロールバックを実施する方法

Ciscoのネットワーク機器でもconfigのロールバックができることがわかったのでやりかたをご紹介したいと思います。 ※configのロールバックとは、設定変更前のconfigに切り戻すことです。 …