Power Automateで自動化できる作業はWindowsのさまざまな領域に及ぶ。本連載では、いくつかの作業をピックアップして自動化フローの作成例を紹介してきたが、それらはPower Automateにできることのほんの一部に過ぎない。最終回となる今回は、その集大成として、Power Automateではどのような作業が自動化できるのかについて総括する。
アクションを知ることが自動化のアイデアにつながる
これまで何度も取り上げてきたように、Power Automateの自動化フローは「アクション」と呼ばれる処理を積み上げていくことで作る。そのため、まずは「Power Automateにはどのようなアクションがあるか」を把握することが、「何をどのように自動化するか」というアイデアにつながるだろう。
Power Automateのプログラミングウインドウの左側にアクションのリストがある。そのリストをざっくりまとめると、次のようになる。
- 変数
- 条件
- ループ
- フローコントロール
- フローを実行する
- システム
- ワークステーション
- スクリプト
- ファイル
- フォルダー
- 圧縮
- UIオートメーション
- HTTP
- ブラウザー自動化
- Excel
- データベース
- メール
- Exchange Server
- Outlook
- メッセージボックス
- マウスとキーボード
- クリップボード
- テキスト
- 日時
- CMDセッション
- ターミナルエミュレーション
- OCR
- 暗号化
- Windowsサービス
- XML
- FTP
- CyberArk
- Active Directory
- AWS
- Azure
- Googleコグニティブ
- IBMコグニティブ
- Microsoftコグニティブ
- SAP自動化
ここにはアクションの動きを制御する機能や、アプリケーションの操作やネットワークの操作、Windowsシステムを操作するためのアクションなどが収められている。
アクションリストを展開して、一度全てのアクションを確認してみてほしい。それだけで全てが理解できるわけではないが、Power Automateでどのようなことができるのか大雑把に把握するための役には立つはずだ。
Power Automateに用意されている主なアクション
本連載ではまずPower Automateの機能としてUIオートメーションについて取り上げた。第2回で、アプリケーションの操作を記録して自動的にアクションを配置したのを思い出してほしい。Power Automateにはレコード機能で記録して、アプリケーションを動作させるアクションが多数用意されている。
似たようなものとして、Webブラウザ自動化や、Microsoft Excelを操作する機能、システムのメッセージボックスやダイアログを表示する機能などがあり、これらについてはその一部を連載で取り上げた。
アプリケーションやサービスの操作というレイヤーで考えると、主なアクションには次のようなものがある。
- Windowsサービスの制御(開始、停止、待機、再開、一時停止など)
- Outlookの起動、Outlookからメールメッセージを取得、Outlookからメールメッセージの送信、Outlookでメールメッセージを処理、Outlookでメールメッセージを保存、Outlookメッセージに応答、Outlookを閉じるなど
- Exchange Serverへの接続、Exchange Serverメールメッセージの取得、Exchange Serverメールメッセージの処理など
- メールメッセージの取得、メールメッセージの処理、メールの送信など
- プロセスの操作、環境変数の操作、プリンタの設定、ドキュメントの印刷、デスクトップのロック、音声の再生、スクリーンショットの取得、ディスプレイ解像度の取得および設定、コンピュータのシャットダウン、ユーザーのログオフなど
- クリップボードテキストの取得、クリップボードテキストの設定、クリップボード内容をクリアなど
- PDFの処理(PDFファイルを結合、PDFからテキストを抽出、PDFからテーブルを抽出、PDFから画像を抽出など)
- OCRを使ってテキストを抽出、テキストが表示されるまで待機など
- Active Directoryオブジェクト(オブジェクトの作成・削除・移動・名前変更など)
- Active Directoryグループ(グループの作成・情報取得・メンバー取得・変更など)
- Active Directoryユーザー(ユーザーの作成・情報取得・変更・ロック解除・情報更新など)
- HTTP操作(SOAP Webサービスの呼び出し、Webからダウンロード、Webサービスの呼び出しなど)
- FTP操作(FTP接続を開く、Secure FTP接続を開く、接続を閉じる、ディレクトリ一覧表示、作業ディレクトリの変更、ファイルのダウンロード・フォルダダウンロード・ファイルアップロード・フォルダアップロード、ファイルの削除・名前変更・ディレクトリ作成・ディレクトリ削除・コマンド呼び出し、ディレクトリ同期など)
Windows 11やWindows 10のデスクトップを操作する機能ではなく、クラウドサービスなどを利用するためのアクションも用意されている。
- クラウド連携(Microsoft Azure、AWS)
- コグニティブ連携(Microsoft、Google、IBM)
本稿執筆時点でPower Automateに用意されているアプリケーションレベルでの主なアクションは上記の通りだが、アクション自体は自分で開発して追加できるし、サードパーティ製のものも追加できるので、正確にはさらに多くの操作を行える。
Power Automateのプログラミング側面
本連載ではPower Automateをまずはシンプルに使ってみるというところに焦点を置いてきた。そのため、複雑なプログラミング的な操作は行っていない。
Power Automateにはプログラミング言語として利用するための必要最小限の機能は実装されているので、より複雑なフローを作成することもできる。例えば、制御構文に相当する機能とそれらに必要となる変数の機能として、次のようなアクションが用意されている。
- 条件分岐(If~Else if~Else、Switch~Caseなど)
- 繰り返し構文(Loop、For each、ループを抜ける、次のループなど)
- フロー制御(End、Wait、ラベル、移動先、フローの停止、サブフローの実行・終了など)
- 変数(設定、大きくする、小さくする、リストを作成、リストのクリア、リストに追加、リストから削除、リストの結合、リストのシャッフル、リストのリバーズ、数値の切り捨て、乱数の生成、データテーブルの作成、データテーブルへ挿入、データテーブルを検索、データテーブルから削除など)
また、プログラミング言語の基本的な操作として次のような機能も存在している※。
※ プログラミングの機能と見なすか、アプリケーションレベルのアクションと見なすかはケースバイケースだ。多くのモダンなプログラミング言語が標準的なライブラリで用意している機能として、ここでは基本的なプログラミングの機能として取り上げている
- ファイルのコピー・移動・削除・名前変更、ファイルの中身の読み込み、CSVファイルの読み込み・書き込み、一時ファイルの取得、ZIPファイル圧出・解凍など
- フォルダの作成・削除・コピー・移動・名前の変更、フォルダ内サブフォルダの取得、フォルダ内ファイルの取得など
- テキストの処理(結合、分割、解析、置換、正規表現、追加、取得、トリミング、パディング、反転、変換、AESで暗号化・解読、ハッシュ化など)
- 日時の処理(現在の日付を取得、日付の加算、日付の減算)
- XML操作(ファイルから読み込み、ファイルへ書き出し、属性取得・設定・削除など)
- DOSコマンドの実行、VBScriptの実行、JavaScriptの実行、PowerShellスクリプトの実行、.NETスクリプトの実行
- SQL接続、SQLステートメントの実行、SQL接続を閉じる
- ターミナルエミュレーション(セッションオープン、セッションクローズ、カーソル移動、テキスト取得、テキスト設定、キー送信、テキスト待機、テキスト検索)
Power AutomateはUIの操作を自動化する側面が強いので、次のようにマウスやキーボードに関する基本的な操作も用意されている。
- マウスの移動、マウスクリックの送信、マウスの位置を取得、マウスを待機など
- キーの送信、キーを押す、キーを離す、入力をブロック、キーボード識別子の取得、ショートカットキーを待機するなど
ローコードプラットフォームと謳われているPower Automateは、プログラマーでなくてもある程度の学習をすれば使えるようになる。しかし、実際、基本的な構造や仕組みはプログラミング言語のそれであるため、プログラミングの経験がある方が理解も早いし、習得も短い時間でできる。もし、経験がないのであれば、この機にPower Automateの操作を通じて学んでみてはいかがだろうか。
Power Automate活用の鍵は「使ってみる」こと
Power Automateを使って業務の自動化を進めるポイントは、まずは日々の作業をPower Automateで自動化して使ってみることだ。Power Automateを使った自動化処理フローの作成にはそれほど時間はかからないし、作ったものによっては大幅な業務効率化も期待できる。作るうちにPower Automateに詳しくなり、より洗練されたフローが作成できるようになるだろう。
作る→使うプロセスを繰り返すことが、Power Automateをマスターしていく上で大切なポイントなのだ。
これまで説明してきたように、Power Automateは業務の時短に効果的なアプリケーションだ。しかし、それがあまり知られていないように見える。ローコードとは言え、普段まったくプログラミングを行わないオペレーターやメンテナーにとっては、ややハードルが高いのかもしれない。思ったよりも簡単に扱えることが周知されれば、おのずと優れた活用例も増えてくるだろう。本連載を参考に、ぜひ積極的にPower Automateを利用していっていただきたい。