※本記事は、Power Automate基礎習得パス(#PA基礎)の第3弾です。
チームの提出物が揃ったので、
OneDrive内のバックアップ用フォルダにファイルを移動するぞ
その作業、Power Automateの「インスタントフロー」で
自動移動ができますよ。
?ファイルのドラッグ&ドロップでの移動くらい、
そんな手間な作業じゃないけどな…?
この作業を覚えておくと、応用の幅が広がるんです。
例えば、月別に分けた子フォルダ内のファイルを自動移動できるようになります。
インスタントクラウドフローは、「実行」ボタンを手動でクリックすることにより任意のタイミングでフローを実行します。
この記事では、インスタントクラウドフローで「月末提出物」フォルダにある添付ファイルを「月末提出物_過去分」フォルダに移動するフローを作成します。
「動的なコンテンツ」や「For each」は、仕組みを理解し利用できるようになることで、作成できるフローの幅がぐーーーんと広がります。
作成するフローの内容
本記事では、下記のフローを作成します。
※フォルダはOneDriveフォルダを利用します
フロー全体のショット
今回作成するフローはこのような形です。
事前準備
OneDriveフォルダ内に、①移動前のフォルダ と ②移動後のフォルダ を用意します。
本記事では、「月末提出物」フォルダと「月末提出物_過去分」フォルダを用意しました。
移動前のフォルダ内には、移動対象ファイルがあることをご確認ください。
インスタントクラウドフローを作成してみよう
自分の好きなタイミングでフローを実行したい場合、「インスタントクラウドフロー」を利用します。
Power Automateの「作成」ボタンより、「インスタントクラウドフロー」を選択しましょう。
「フローを手動でトリガーする」にチェックを入れ、「作成」をクリックします。
今回の解説ではフローの編集画面でフロー名をつけます。
もちろん、上記の画面でフロー名をつけてもOKです。
「フォルダー内のファイルのリスト」アクションの追加
本フローでは「月末提出物」フォルダ内に入っている全てのファイルを移動します。
そのためには、フォルダ内にあるファイルの一覧情報を取得するアクションを追加する必要があります。
そこで、「フォルダー内のファイルのリスト」アクションを利用します。
このアクションを利用することで、指定したフォルダ内にあるファイルとサブフォルダの一覧を取得できます。
編集画面の「+」ボタンより「アクションの追加」を選択します。
OneDrive for Businessを選択します。
OneDrive(個人用)とOneDrive for Business(組織用)の選択を間違えないように気を付けてください。
「フォルダー内のファイルとリスト」をクリックします。
フォルダアイコンより、対象フォルダを選択します。
フォルダのパスが自動で入力されました。
「ファイルの移動または名前変更」アクションの追加
ファイルを移動するためのアクションとして、「ファイルの移動または名前変更」アクションを追加します。
前ステップ同様、「+」ボタンの「アクションの追加」より、OneDrive for Businessを選択します。
「ファイルの移動または名前変更」を選択します。
そうすると、「ファイル」の項目で移動するファイルの「一意識別子」を入力するように求められます。
「フォルダ内のファイルのリスト」アクションではフォルダアイコンから指定しましたが、
今回の場合「月末提出物」フォルダ内のファイルを一つずつ手動で選択するのは非効率的です。
「フォルダ内のファイルのリスト」アクションで取得したファイルの一覧情報を利用して、動的にファイルの指定をしたいところです。
そこで利用できるのが、「動的なコンテンツ」です。
「動的なコンテンツ」を利用して移動対象のファイルを指定
「動的なコンテンツ」?
難しい用語が出て来たなあ。。。
「動的なコンテンツ」とは、Power Automateが取得した動的な情報のことです。
前のステップで取得した情報を、次のアクションで利用することができます。
例えば今回のフローでは、「フォルダ内のファイルのリスト」アクションで、Power Automateが「月末提出物」フォルダ内のファイル一覧情報を取得します。
それでは、動的なコンテンツを利用して「月末提出物」フォルダ内にあるファイルを指定しましょう。
「ファイル」の項目にカーソルを入れると、「⚡」アイコンが表示されるので、クリックします。
この⚡マークが動的なコンテンツのマークです。
「フォルダー内のファイルのリスト」の項目直下には「ID」や「名前」、「パス」などがあります。
この一覧は全て、「フォルダー内のファイルのリスト」アクションでPower Automateが取得できる情報です。
ここでは「ファイルの一意識別子」とある通り、一意識別子 = ID を入力する必要があります。
そのため、「ID」を選択しましょう。
選択後、「ID」と記載されたラベルが自動で表示されました。
同時に、「For each」アクションが自動的についたことがわかります。
この「For each」は、Power Automateを利用する上で欠かせない、「繰り返し処理」の1つです。
詳しく解説していきます。
For each の仕組み
「For each」は、前述の通り、繰り返し処理で利用されるアクションの1つです。
For each内に入っている全てのアクションに対し、繰り返し処理が実行されます。
例えば今回のフローでは「フォルダー内のファイルのリスト」で取得した全てのファイルを移動します。
そこで「For each」を利用すると、フォルダ内のファイル1つ1つに「ファイルの移動」アクションを実行することができます。
「ファイルの移動」アクションではファイルIDが必要のため、動的なコンテンツより「ID」を選択しました。
そうすると、自動的にFor eachアクションが適用されました。
このように動的なコンテンツより選択したものが複数ある要素の場合、自動的にFor eachが追加されますので、「繰り返し処理が適用されたのだな」、と思っていただけたらと思います。
「For each」は「Apply to each」、「それぞれに適用する」と言われることもありますが、全て同じ機能です。
文字列と動的なコンテンツを組み合わせてファイルのパスを指定
ファイルIDの指定が完了したら、今度は移動先のパスを指定します。
説明文の通り、移動先のフォルダパスまでではなく、ファイル名を含めたパスを入力する必要があります。
フォルダIDを指定した際と同様、ファイル名を一つずつ指定するのは非効率的です。
そのため、文字列と動的なコンテンツを組み合わせてパスを指定しましょう。
まずは、対象フォルダまでのパスを入力します。
エクスプローラーを開き、「OneDrive-XX」より下の赤枠部分のパスを入力します。
このような形で「/」でつなぎ、フォルダパスを指定します。
先頭の「/」も忘れずに入力してください。
続いて、ファイル名は動的なコンテンツを用いて指定します。
フォルダパスの末尾に「/」を入力した後、「⚡」より「名前」を選択します。
完成はこのような形です。
フローの保存とテスト
保存する前に、フローに名前をつけましょう。
こちらの赤枠箇所をクリックします。
なんのフローなのか、後で見た時に思い出しやすいフロー名をつけてください。
フロー名の変更が完了したら、テストを実行してください。
実行方法が不明な場合は、こちらを参照ください。
テストに成功したら、対象ファイルが全て移動先フォルダに移動したことを確認ください。
インスタントフローの実行方法
フローの完成!
でも、次回実行する時はどこから行えばいいの?
「マイフロー」より実行ボタンを押すことができますよ。
Power Automateの「マイフロー」より、作成したフロー一覧が確認できます。
対象のフロー上にマウスを重ねると、「実行」ボタンが表示されるので、ここから実行してください。
まとめ
本記事では、#PA基礎 第3弾として、以下の内容をお伝えしました。
- インスタントクラウドフローの利用方法
Power Automateの「作成」より「インスタントクラウドフロー」を選択することで、実行ボタンを押すとフローが実行されるようになります。
- 動的なコンテンツの利用方法
前のアクションでPower Automateが取得した情報を、「動的なコンテンツ」を利用することでフロー内で出力することができるようになります。
- For eachの仕組み
取得した複数の要素(今回の場合、フォルダ内にある複数のファイル)に対し、繰り返し処理を行います。
選択する動的なコンテンツによっては、自動的にFor eachアクションが適用されます。
- インスタントクラウドフローの実行方法
Power Automateの「マイフロー」より対象のフローにアクセスし、「▷」(実行)ボタンを押すことでフローを実行できます。
次の記事では、「自動化したクラウドフロー」で、メールの添付ファイルを自動保存するフローを紹介いたします。
Power Automate特有の以下の機能についても学ぶことができます。
条件アクションをマスターすると、特定の条件によりフローの実行結果を変更することができるようになります。
コメント