はじめに
PAD(Power Automate Desktop)にはExcel操作用のアクションが多く用意されていますが、正直、物足りません。
特に書式に関するアクションがありません。
一方、【VBScriptの実行】というアクションがあります。
これを使うとコードを書くことでExcel操作が可能です。
しかもコードはVBAとほとんど同じです。生成AIに書いてもらうこともできます。
セル範囲に罫線を設定する
【変数の設定】
変数:ExcelPath
値:(エクセルファイルのフルパス)
【変数の設定】
変数:SheetName
値:(シート名)
【変数の設定】
変数:Range
値:(セル範囲)※「A1:E4」のように。
【VBScriptの実行】
実行するVBScript:
With ThisWorkbook.Worksheets("%SheetName%").Range("%Range%")
.Borders.LineStyle = 1
End With
ポイントは「Set ThisWorkbook = GetObject()」のところです。
これを使い、引数にフルパスを指定すると、既に開いているExcelを掴んで操作できます。
つまり通常のアクションを使ってエクセルを操作し、面倒なところだけを【VBScriptの実行】で操作すればよいのです。
罫線の種類、太さ、色を設定する
罫線
種類 XlLineStyle 1:実線、-4115:破線、-4118:点線、4:一点鎖線、-4119:2本線
https://learn.microsoft.com/ja-jp/office/vba/api/excel.xllinestyle
太さ XlBorderWeight 1:細線、2:極細、-4138:普通、4:太線
https://learn.microsoft.com/ja-jp/office/vba/api/excel.xlborderweight
色 XlColorIndex 1:black,2:white,3:red,4:lime,5:blue,6:yellow,7:fuchsia,8:aqua
【変数の設定】
変数:XlLineStyle
値:(線の種類の値)
【変数の設定】
変数:XlBorderWeight
値:(太さの値)
【変数の設定】
変数:XlColorIndex
値:(色の値)
【VBScriptの実行】
実行するVBScript:
With ThisWorkbook.Worksheets("%SheetName%").Range("%Range%")
.Borders.LineStyle = %XlLineStyle%
.Borders.Weight = %XlBorderWeight%
.Borders.ColorIndex = %XlColorIndex%
End With
セル範囲の文字を太字にする
【VBScriptの実行】
実行するVBScript:
With ThisWorkbook.Worksheets("%SheetName%").Range("%Range%")
.Font.Bold=True
End With
セル範囲の書式を設定する
【VBScriptの実行】
実行するVBScript:
With ThisWorkbook.Worksheets("%SheetName%").Range("%Range%")
.Font.Name = "Meiryo UI"
.Font.Size = 24
.Font.Bold = True
.Font.Color = RGB(255, 0, 0) ' 赤
.Interior.Color = RGB(255, 255, 0) ' 黄
.HorizontalAlignment = -4108 ' 左右中央揃え
.VerticalAlignment = -4108 ' 上下中央揃え
End With
シートの表示・非表示
シートの表示
【VBScriptの実行】
実行するVBScript:
Set ThisWorkbook = GetObject(“%ExcelPath%”)
ThisWorkbook.Worksheets(“%SheetName%”).Visible = True
シートの非表示
Set ThisWorkbook = GetObject(“%ExcelPath%”)
ThisWorkbook.Worksheets(“%SheetName%”).Visible = False
行と列の表示・非表示
行の表示
【VBScriptの実行】
実行するVBScript:
Set ThisWorkbook = GetObject(“%ExcelPath%”)
With ThisWorkbook.Worksheets(“%SheetName%”).Range(“%Range%”)
.EntireRow.Hidden = False
End With
行の非表示
【VBScriptの実行】
実行するVBScript:
Set ThisWorkbook = GetObject(“%ExcelPath%”)
With ThisWorkbook.Worksheets(“%SheetName%”).Range(“%Range%”)
.EntireRow.Hidden = True
End With
列の表示
【VBScriptの実行】
実行するVBScript:
Set ThisWorkbook = GetObject(“%ExcelPath%”)
With ThisWorkbook.Worksheets(“%SheetName%”).Range(“%Range%”)
.EntireColumn.Hidden = False
End With
列の非表示
【VBScriptの実行】
実行するVBScript:
Set ThisWorkbook = GetObject(“%ExcelPath%”)
With ThisWorkbook.Worksheets(“%SheetName%”).Range(“%Range%”)
.EntireColumn.Hidden = True
End With
コメント