Power Automate desktopでVBScriptを使ってExcel操作するには[VBScriptの実行]アクションを使います。このアクションを使ったサンプルフローを解説するので是非お読みください。
それでは、どうぞ!
Power Automate desktop|VBScriptでExcel操作するサンプルフロー
作成するフローの動作説明
これから作成するサンプルフローの動作を説明します。
新しいExcelドキュメントを作成し、セル[A1]からセル[E1]まで背景色を付けます(図1)。
その後、Excelドキュメントに名前を付けて保存して、Excelを終了します。
【図1】フローの実行結果
[VBScriptの実行]アクションを使ったフローを作成しよう
STEP1 [Excelセルの書式設定]というフローを新規作成する
[Excelセルの書式設定]というフローを新規作成してください(図2)。
【図2】フロー[Excelセルの書式設定]を新規作成
STEP2 [特別なフォルダーを取得]アクションを追加する
[フォルダー]アクショングループ内の[特別なフォルダーを取得]アクションをメインフローのワークスペースに追加してください。
ダイアログが表示されるので、[特別なフォルダーの名前]のドロップダウンリストから[ドキュメント]を選択してください。[特別なフォルダーのパス]は自動的に入力されますが、環境によって異なります。
[保存]をクリックしてダイアログを閉じてください(図3)。
【図3】[特別なフォルダーを取得]アクションの設定
STEP3 [変数の設定]アクションを追加する
[変数]アクショングループ内の[変数の設定]アクションを[特別なフォルダーを取得]アクションの後に追加してください。
ダイアログが表示されるので、[変数]を「%SaveExcelPath%」に変更し、[値]に「%SpecialFolderPath%\セルの書式設定.xlsx」と入力してください。
設定が完了したら[保存]をクリックしてダイアログを閉じてください(図4)。
【図4】[変数の設定]アクションの設定
STEP4 [VBScriptの実行]アクションを追加する
[スクリプト]アクショングループ内の[VBScriptの実行]アクションを[変数の設定]アクションの後に追加してください。
[VBScriptの実行]ダイアログが開くので、[実行するVBScript]にVBScriptを入力してください(図5)。
【図5】[VBScriptの実行]アクションの設定
入力するVBScriptは次の通りです(図6)。
【図6】[実行するVBScript]の内容
ソースを下に貼っているので、コピーしてくれても構いません。
' Excel起動
Set objXls = CreateObject("Excel.Application")
objXls.Application.Visible = true
' 3秒待つ
WScript.Sleep(3000)
' ブックの追加
Set objWorkbook = objXls.Application.Workbooks.Add()
Set objSheet = objXls.Sheets(1)
With objSheet
.Range("A1:E1").Interior.Color = RGB(173,216,230)
End With
' Workbookに名前を付けて保存し閉じる
objXls.DisplayAlerts = False
objWorkbook.SaveAs("%SaveExcelPath%")
objWorkbook.Close
objXls.Quit
' インスタンスの破棄
Set objSheet = Nothing
Set objWorkbook = Nothing
Set objXls = Nothing
VBScriptの内容を解説します。
まず、Excelオブジェクトを生成します。Excelは非表示で起動することもできますが、このスクリプトでは表示させます。
Excelの起動を確実に完了させるために、3秒間待つことにします(図7)。
【図7】VBScript-1
Excelワークブックを生成し、1番目のシートを[objSheet]という変数に格納します。
1番目のシートのセル[A1]からセル[E1]まで背景色を付けます(図8)。
【図8】VBScript-2
Workbookに名前を付けて保存し閉じます。
2ステップ目で作成した変数[SaveExcelPath]をスクリプト内で利用していることに注目してください。
Excelも閉じます。
最後にシート、ワークブック、エクセルのオブジェクトを破棄します(図9)。
【図9】VBScript-3
STEP5 ここまでのフローを確認する
4つのアクションを追加して設定しましたね。図10のようにフローが作成されていますか?
これで完成です。
【図10】完成したフロー(4ステップ目以降は省略)
まとめ
Power Automate desktopでVBScriptを使ってExcel操作するには[VBScriptの実行]アクションを使います。
プログラミングコードを直接記述したことがない人にとっては、VBScriptを使う方法は難しいと感じるでしょう。しかし、とてもシンプルにフローを構築できることもわかったと思います。
コメント ログインすると書き込めます