【Power Automate】インスタントクラウドフローでOneDriveのファイルを移動

Power Automate
この記事は約8分で読めます。

※本記事は、Power Automate基礎習得パス(#PA基礎)の第3弾です。

手作業 太郎
手作業 太郎

チームの提出物が揃ったので、
OneDrive内のバックアップ用フォルダにファイルを移動するぞ

もちぱん
もちぱん

その作業、Power Automateの「インスタントフロー」で
自動移動ができますよ。

手作業 太郎
手作業 太郎

?ファイルのドラッグ&ドロップでの移動くらい、
そんな手間な作業じゃないけどな…?

もちぱん
もちぱん

この作業を覚えておくと、応用の幅が広がるんです。
例えば、月別に分けた子フォルダ内のファイルを自動移動できるようになります。

インスタントクラウドフローは、「実行」ボタンを手動でクリックすることにより任意のタイミングでフローを実行します。


この記事では、インスタントクラウドフローで「月末提出物」フォルダにある添付ファイルを「月末提出物_過去分」フォルダに移動するフローを作成します。

この記事でわかること
  • 3種のフロー (自動化 / スケジュール / インスタント) の内、「インスタントフロー」の利用方法
  • 「動的なコンテンツ」とは
  • 繰り返し処理 (for each) の仕組み



「動的なコンテンツ」や「For each」は、仕組みを理解し利用できるようになることで、作成できるフローの幅がぐーーーんと広がります。



作成するフローの内容

本記事では、下記のフローを作成します。
※フォルダはOneDriveフォルダを利用します

インスタントフロでフローを手動で実行し、月末提出物フォルダ内のファイルを過去分フォルダに移動


 フロー全体のショット

今回作成するフローはこのような形です。

フロー全体のスクリーンショット


 

事前準備

OneDriveフォルダ内に、①移動前のフォルダ と ②移動後のフォルダ を用意します。
本記事では、「月末提出物」フォルダと「月末提出物_過去分」フォルダを用意しました。

「月末提出物」フォルダと「月末提出物_過去分」フォルダ用意



移動前のフォルダ内には、移動対象ファイルがあることをご確認ください。

「月末提出物」フォルダ内にテスト用ファイルを用意


インスタントクラウドフローを作成してみよう

自分の好きなタイミングでフローを実行したい場合、「インスタントクラウドフロー」を利用します。
Power Automateの「作成」ボタンより、「インスタントクラウドフロー」を選択しましょう。

「インスタントクラウドフロー」をクリック



「フローを手動でトリガーする」にチェックを入れ、「作成」をクリックします。

「フローを手動でトリガーする」を選択

今回の解説ではフローの編集画面でフロー名をつけます。
もちろん、上記の画面でフロー名をつけてもOKです。


「フォルダー内のファイルのリスト」アクションの追加

本フローでは「月末提出物」フォルダ内に入っている全てのファイルを移動します。
そのためには、フォルダ内にあるファイルの一覧情報を取得するアクションを追加する必要があります


そこで、「フォルダー内のファイルのリスト」アクションを利用します。
このアクションを利用することで、指定したフォルダ内にあるファイルとサブフォルダの一覧を取得できます。


編集画面の「+」ボタンより「アクションの追加」を選択します。

「アクションの追加」クリック



OneDrive for Businessを選択します。

「OneDrive for Business」コネクタをクリック

OneDrive(個人用)とOneDrive for Business(組織用)の選択を間違えないように気を付けてください。



「フォルダー内のファイルとリスト」をクリックします。



フォルダアイコンより、対象フォルダを選択します。

「月末提出物」フォルダを選択



フォルダのパスが自動で入力されました。

フォルダのパスが自動入力される


 

「ファイルの移動または名前変更」アクションの追加

ファイルを移動するためのアクションとして、「ファイルの移動または名前変更」アクションを追加します。


前ステップ同様、「+」ボタンの「アクションの追加」より、OneDrive for Businessを選択します。

「OneDrive for Business」を選択



「ファイルの移動または名前変更」を選択します。

「ファイルの移動または名前変更」選択



そうすると、「ファイル」の項目で移動するファイルの「一意識別子」を入力するように求められます。
フォルダ内のファイルのリスト」アクションではフォルダアイコンから指定しましたが、
今回の場合「月末提出物」フォルダ内のファイルを一つずつ手動で選択するのは非効率的です

ファイルの「一意識別子」の選択画面。フォルダアイコンから指定するのは非効率的。



「フォルダ内のファイルのリスト」アクションで取得したファイルの一覧情報を利用して、動的にファイルの指定をしたいところです。
そこで利用できるのが、「動的なコンテンツ」です。

「動的なコンテンツ」を利用して移動対象のファイルを指定

手作業 太郎
手作業 太郎

「動的なコンテンツ」?
難しい用語が出て来たなあ。。。

もちぱん
もちぱん

「動的なコンテンツ」とは、Power Automateが取得した動的な情報のことです。
前のステップで取得した情報を、次のアクションで利用することができます。

例えば今回のフローでは、「フォルダ内のファイルのリスト」アクションで、Power Automateが「月末提出物」フォルダ内のファイル一覧情報を取得します。

「動的なコンテンツ」のイメージ

対象フォルダ内のファイルを追加・編集・削除しても、Power Automateでフローを実行する度に最新のファイルの一覧情報を取得します。



それでは、動的なコンテンツを利用して「月末提出物」フォルダ内にあるファイルを指定しましょう。
「ファイル」の項目にカーソルを入れると、「⚡」アイコンが表示されるので、クリックします。
この⚡マークが動的なコンテンツのマークです

「動的なコンテンツ」の⚡アイコン



「フォルダー内のファイルのリスト」の項目直下には「ID」や「名前」、「パス」などがあります。
この一覧は全て、「フォルダー内のファイルのリスト」アクションでPower Automateが取得できる情報です。
ここでは「ファイルの一意識別子」とある通り、一意識別子 = ID を入力する必要があります。
そのため、「ID」を選択しましょう。

動的なコンテンツより「ID」を選択



選択後、「ID」と記載されたラベルが自動で表示されました。

ID選択後の画面



同時に、「For each」アクションが自動的についたことがわかります。



この「For each」は、Power Automateを利用する上で欠かせない、「繰り返し処理」の1つです
詳しく解説していきます。
 
 

For each の仕組み

「For each」は、前述の通り、繰り返し処理で利用されるアクションの1つです。
For each内に入っている全てのアクションに対し、繰り返し処理が実行されます

For each内の全てのアクションに繰り返し処理適用




例えば今回のフローでは「フォルダー内のファイルのリスト」で取得した全てのファイルを移動します。
そこで「For each」を利用すると、フォルダ内のファイル1つ1つに「ファイルの移動」アクションを実行することができます。

For eachのイメージ



「ファイルの移動」アクションではファイル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特有の以下の機能についても学ぶことができます。
条件アクションをマスターすると、特定の条件によりフローの実行結果を変更することができるようになります。

習得できる知識
  • 条件アクションの利用方法
  • 自動化したクラウドフローのテスト方法

コメント