UiPath Excelで画像ファイルを貼り付ける方法

2020年2月20日

この記事ではUiPathで画像ファイルを

Excelブックに貼り付ける方法を紹介します。

手順

今回はマクロを併用します。(マクロは作成済みで掲載しています)

まずExcel アプリケーションスコープを設置し、

最終行を取得したいブックをパスに指定します。

このブックはマクロ有効ブック(xlsm)でなくて構いません。

そしてVBA の呼び出しを中に設置します。

そしてVBA の呼び出しのコードファイルのパスに

こちらを解凍したファイル(マクロ)を指定します。

中身はこのようになっています。

Sub ImageInsert_XY(sheetName As String, fileName As String, left As Double, top As Double, scall As Double)
    Call ImageInsert(sheetName, fileName, left, top, scall)
End Sub

Sub ImageInsert_CellAddress(sheetName As String, fileName As String, cell As String, scall As Double)
    Call ImageInsert(sheetName, fileName, Sheets(sheetName).Range(cell).left, Sheets(sheetName).Range(cell).top, scall)
End Sub

Sub ImageInsert(sheetName As String, fileName As String, left As Double, top As Double, scall As Double)
    Dim pic As Shape

    Set pic = Sheets(sheetName).Shapes.AddPicture( _
          fileName:=fileName, _
          linkToFile:=False, _
          saveWithDocument:=True, _
          left:=left, _
          top:=top, _
          width:=0, _
          height:=0)
          
    With pic
        .ScaleHeight scall, msoTrue
        .ScaleWidth scall, msoTrue
    End With
End Sub
Excel アプリケーションスコープを設置し、その中にVBAの呼び出しを設置

他のプロパティも設定しますが、

この記事で用意したマクロは画像の設置位置を

セルアドレス指定するか座標指定するかで

設定内容が変わります。

セルアドレス指定

プロパティ設定値
エントリメソッドのパラメーター最終行を取得するシート名を指定します。
コレクション(IEnumerable)で
下記の順番で指定します。
・シート名
・ファイルパス
・セルアドレス
・画像の倍率(1.0で原寸大)
エントリメソッド名“ImageInsert_CellAddress"を指定します。
コードファイルのパスダウンロードして解凍した
ImageInsert.basを指定します。

パラメータはカンマ区切りで指定します。

配列・コレクションの構文作成ツール

倍率は50%にしています。

{"Sheet1","C:\UiPath\Excelテスト\画像.png","D4",0.5}
セルアドレス指定の場合のプロパティ設定例

この状態でツールを実行するとD4セルに

50%の大きさでファイルの画像が貼り付けられます。

セルアドレス指定の実行結果

座標指定

プロパティ設定値
エントリメソッドのパラメーター最終行を取得するシート名を指定します。
コレクション(IEnumerable)で
下記の順番で指定します。
・シート名
・横位置(0が一番左)
・上位置(0が一番上)
・セルアドレス
・画像の倍率(1.0で原寸大)
エントリメソッド名“ImageInsert_XY"を指定します。
コードファイルのパスダウンロードして解凍した
ImageInsert.basを指定します。

パラメータはカンマ区切りで指定します。

配列・コレクションの構文作成ツール

画像の倍率は25%にしています。

{"Sheet1","C:\UiPath\Excelテスト\画像.png",10,50,0.25}

この状態でツールを実行すると横10、縦50の位置に

25%の大きさでファイルの画像が貼り付けられます。

XY指定の実行結果

関連記事

UiPath Excel関連アクティビティの記事一覧