Power Automateについて詳しく解説します
- フォルダー監視って何?
- フォルダー監視をPower Automate Desktopでできないか?
- フォルダー内のファイルを自動で処理してほしい。
当記事では、上記の疑問にお答えします。
フォルダー監視は、指定したフォルダー内でのファイルの追加や変更、削除などの変更があった際に、指定した処理を自動実行する仕組みです。
わざわざ、自分でフォルダーに入って処理しなくてもよくなるので、かなり業務負担が減るのではないでしょうか。
また、フォルダー監視はセキュリティの観点からも非常に重要です。
たとえば、悪意のある第三者が重要なデータを更新してしまったり、フォルダー内に溜まった不要ファイルのおかげで、どのファイルが保存されているのかわからなくなったりするケースが該当します。
当記事では、フォルダ監視の基本概念や3種類のフォルダ監視の方法を解説します。
さらにループアクションを使った擬似的な定期実行の方法も解説いたしますので、ぜひ一度読んでみてください。
なお、Power Automate Desktopの利用方法・起動方法は、以下の記事をご覧ください。
目次
著:やまもとてつや
Tipstour初の電子書籍化! 37歳で初の正社員となりITヘルプデスクとして勤務中の著者が、Power Automate Desktopを使った8つのメール作業・自動化事例とその方法を本書でご紹介しています。 これを読めば、ヘルプデスクの担当者はもちろん、WindowsPCで作業するすべてのワーカーの面倒なメール作業を自動化可能です。 Kindle Unlimitedで読み放題対象! |
【前提】フォルダー監視とはフォルダー内の変更に対して自動で処理を行う仕組み
フォルダー監視は指定したフォルダー内でのファイルの追加や変更、削除などの変更があったら自動で指定した処理を実行する仕組みです。
フォルダー監視を導入すれば、フォルダー内のファイルに不正な削除や変更があった際にアラートを出したり、フォルダー内の命名規則から外れたファイル名を自動修正できたりします。
セキュリティ上の観点でもフォルダー監視は非常に重要ですが、実行するには専用ソフトウェアやPythonやC#といったプログラミングの知識が必要です。
しかし、専用ソフトウェアはそれなりにお金がかかる上、プログラミングで仕組みを構築するなら学習コストがかかります。
Power Automate Desktopなら無料で使用できる上、ノーコードなので学習コストもそこまでかかりません。
今回、紹介する内容であれば、個々のアクションを理解すればできるようになるでしょう。
具体的には、下記の仕組みを構築してみます。
- フォルダー内にあるファイルをメモ帳でリスト化する
- フォルダー内にあるファイルが一定数以上になったらメッセージを送信する
- フォルダー内にあるExcelファイルに仕込んだVBAを起動させ保存する。
実際に自分で手順を構築してみると、手軽にフォルダー監視の仕組みを作るのにPower Automate Desktopはピッタリのツールだとわかります。
【方法①】フォルダー内にあるファイルをメモ帳でリスト化する
まずはフォルダー内にあるファイルをメモ帳でリスト化してみましょう。
今回の方法を用いれば、重要なファイルがフォルダー内にあるかを常に監視できるようになります。
何らかのトラブルでフォルダー外へ移動したり削除されたりしても、すぐに対処できるようになるでしょう。
Power Automate Desktopでは、2つのフローを構築するだけで実現できます。
新しいフローを作成したら、フォルダーアクションにあるフォルダー内のファイルを取得を中央にドラッグ&ドロップしてください。
画面が切り替わるので、フォルダー欄に監視したいフォルダパスを入力します。
また、フォルダーアイコンをクリックすればエクスプローラーでも選択できます。
下のファイルフィルター欄は、そのままにしてください。
*はフォルダ内全てのファイルを表すワイルドカードです。
もし、テキストファイルだけを検出したい場合*.txtと入力すればテキストファイルだけが検出できます。
変数として、Filesが作成されたのを確認しましょう。
次にファイルアクションにあるテキストをファイルに書き込むをドラッグ&ドロップしてください。
下記画面が表示されるので、以下のように入力します。
- ファイルパス:あらかじめ作成したメモ帳ファイル(フォルダパスは自由です)
- 書き込むテキスト:%Files%
- ファイルが存在する場合:既存の内容を上書きする
ファイルパス欄にはあらかじめ作成したファイルリストのメモ帳ファイルを入れておきます。
フローを実行してみましょう。
フロー実行前のフォルダは下記の状態です。
フローを実行し、ファイルリストを見てみましょう。
ファイルリストが作成できました!
では、フォルダー内の1つファイルを追加してみましょう。
再度フローを実行すると、ファイルリストは以下のようになります。
ファイルリストが更新されました!
たった2ステップのフローでここまで実現できるようになるのは便利ですね。
全体のフローは下記になります。
【方法②】フォルダー内にあるファイルが一定数以上になったらメッセージを表示させる
フォルダー内にあるファイルが一定数を超えたら、メッセージを表示させてみましょう。
使用するアクションは3つです。
方法①で解説したフォルダー内のファイルを取得をドラッグ&ドロップしましょう。
入力も同じです。フォルダーの状況によってファイルフィルターは変えてください。
方法①で使用したテストフォルダーを例にすすめてみましょう。
ファイル数が3つ以上になるか否かでメッセージを変えてみます。
条件アクション欄にあるifを中央にドラッグ&ドロップしてください。
画面が変わったら、以下のように入力してください。
- 最初のオペランド:%Files.Count%
- 演算子:より大きい(>)
- 2番目のオペランド:3
次にifとEndの間に、条件アクション欄にあるElseをドラッグ&ドロップしてください。
あとはそれぞれの条件の間にメッセージを入れるだけです。
メッセージボックスアクション欄にあるメッセージを表示をifとElseの間とElseとEndの間に、それぞれドラッグ&ドロップしてください。
画面が変わります。
ifとElseの間のメッセージには、ひとまず下記を入力しました。
- メッセージボックスのタイトル:余計なファイルがあります!
- 表示するメッセージ:フォルダをチェックしてください。
- メッセージボックスアイコン:警告
ElseとEndの間のメッセージには、下記を入力しています。
- メッセージボックスのタイトル:フォルダは正常です。
- 表示するメッセージ:ファイル数は問題ありません。
- メッセージボックスアイコン:情報
実際に、フローを動かしてみましょう。
まずは3つまでの場合です。
フォルダーに1つファイルを加えて、再度フローを実行してみます。
フォルダー内のファイル数でメッセージが変わりました!
完成したフローは以下のようになります。
【方法③】フォルダー内にあるExcelファイルのVBAを自動実行する
フォルダー内にあるExcelファイルに仕込んだVBAを自動実行させてみましょう。
Excel自体の処理はVBAがやってくれるものの、いちいちExcelを開いてVBAを起動させるのは面倒です。
Power Automate Desktopを使えば、3ステップでVBAを自動実行できます。
サンプルとして以下のフォルダーとExcelファイルを用意しました。
ファイルの中身はこのようになっています。
ファイルには、セルB2にテストと加えるだけのVBAをプログラムしてあります。
上のVBAを起動させて保存させてみましょう。
まずは対象のExcelファイルを起動させるため、ExcelアクションにあるExcelの起動をドラッグ&ドロップします。
画面が変わったら、以下のように入力してください。
- Excelの起動:次のドキュメントを開く
- ドキュメントパス:対象のExcelファイルパス
入力が終わったら保存しましょう。
次にExcelアクションにある詳細をクリックして、Excelマクロの実行をドラッグ&ドロップします。
画面が変わったら、マクロ欄に作成したVBAの名前を入力してください。
VBAの名前は以下の箇所になります。
最後にExcelを閉じましょう。
Excelを閉じるをドラッグ&ドロップしてください。
Excelを閉じる前欄をドキュメントを保存にして保存します。
フローを実行してみましょう。
実行後、Excelファイルは下記の状態になります。
VBAを実行し、保存できました!
【応用】ループアクションでフローを定期実行する
せっかくフォルダー監視の仕組みを整えたのなら、定期実行したいところです。
本来は有料プランでないと定期実行はできませんが、ループアクションを使えば擬似的に定期実行ができます。
ループアクションを使った定期実行については、下記の記事でも詳しく解説していますのでぜひお読みください。
【まとめ】フォルダー監視で、フォルダー内ファイルの作業を自動化しよう
以上、Power Automate Desktopでフォルダー監視をする方法について解説しました。
セキュリティ上、フォルダー監視は必須の仕組みですがPower Automate Desktopであればカンタンに作成できます。
ファイル数や内容の監視はもちろんですが、フォルダー内にあるファイルの自動処理にも使えるので覚えておいて損はありません。
今回、紹介した内容をもとにオリジナルのフォルダー監視を作成してみてください。