Power Automate desktop|VBScriptでExcel操作するサンプルフロー

Power Automate desktopでVBScriptを使ってExcel操作するには[VBScriptの実行]アクションを使います。このアクションを使ったサンプルフローを解説するので是非お読みください。

それでは、どうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。RPA開発および支援8年超
2) RPA関連の書籍を5冊出版。現在はGPT×PADの書籍を執筆中!
3)当サイトのプレミアム会員募集中!無限回答、動画見放題。詳しくはこちら

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を使う方法は難しいと感じるでしょう。しかし、とてもシンプルにフローを構築できることもわかったと思います。

他にもPower Automate for Desktopの使い方について記事がありますので、ぜひ併せてお読みください。

コメント ログインすると書き込めます