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

Power Automate Desktop

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

それでは、どうぞ!

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

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

1) エンジニア歴25年超。開発から業務改善まで幅広く経験してきました
2) 複数の企業においてRPAのコンサルティングを行っています
3) RPA関連の書籍を5冊出版しています

  1. オープンソースで作る!RPAシステム開発入門
  2. 実務者のための失敗しないRPAシナリオ設計入門
  3. UiPath業務自動化最強レシピ
  4. WinActor業務自動化最強レシピ
  5. Power Automate for desktop業務自動化最強レシピ

現在はChatGPTとPower Automate for desktopの書籍を執筆中!

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の使い方について記事がありますので、ぜひ併せてお読みください。

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