UiPath Excelで画像ファイルを貼り付ける方法
この記事では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
他のプロパティも設定しますが、
この記事で用意したマクロは画像の設置位置を
セルアドレス指定するか座標指定するかで
設定内容が変わります。
セルアドレス指定
プロパティ | 設定値 |
---|---|
エントリメソッドのパラメーター | 最終行を取得するシート名を指定します。 コレクション(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%の大きさでファイルの画像が貼り付けられます。