Edge と SharePoint Online に帰ってきたエクスプローラ表示機能で Power Automate for desktop を便利に使う


Office 365 Advent Calendar 2021 8日目の記事です。
https://adventar.org/calendars/6679

Power Automate for desktop にはフォルダやファイルを開く、コピー、移動等、いろいろなファイル操作のアクションがありますが、これらは基本的にローカルの環境にあるものが対象になると思います。
これらのアクションで SharePoint Online に保存してあるものを操作したいという要望がよくあるのですが、そのままでは実行できません。

一番の方法としては以下の記事にある通り、OneDrive 同期クライアントを利用されるとよいと思います。

maekawawawa さんの記事

どうしても同期クライアントを使えない等の場合、最近追加された、Edge で SharePoint Online の エクスプローラ表示機能(有効化が必要)を利用すると、SharePoint Online にあるものをローカルのものかのように扱うことができるので、今回はそれをやってみたいと思います。

手順

作業手順としては以下の通りです。

  • SharePoint Online のエクスプローラ表示機能を有効化する
  • Power Automate for desktop のフローを作成し実行する

SharePoint Online のエクスプローラ表示機能を有効化する

有効化手順については、以下のブログが非常に詳しかったので、そちらをご確認ください。
組織だと、管理者権限相当の権限がいるかもです。ご注意を。

参考

みさわさんのブログ
Microsoft 365 Edge で SharePoint のエクスプローラービューが開けるようになるようです
https://mitomoha.hatenablog.com/entry/2021/09/22/011408

エクスプローラーでSharePointファイルを表示するMicrosoft Edge
https://docs.microsoft.com/ja-jp/sharepoint/sharepoint-view-in-edge

有効化を実行して、下記のようにエクスプローラーで表示が選択できるようになり、それをクリックすると、実際にエクスプローラで表示されれば完了です。

Power Automate for desktop のフローを作成し実行する

今回はローカルのフォルダAを SharePoint Online のライブラリBに移動してみます。

ローカルのフォルダA

SharePoint Online のライブラリB(test.txtだけ)

新しいフローの作成

Power Automate for desktop で、新しいフローを作成します。

ファイルの移動などのアクションの設置(事前準備)

さっそくフォルダをコピーアクションで、フォルダごとコピーしたいところですが、その前に、ファイルの移動などのファイル選択ができるアクションを配置してください。

そこで、ファイル選択をクリックし、以下のような画面を表示します.

ここに、ライブラリB の URL を入力して、test.txt を選択します。

そうすると、以下のような値が表示されます。
この \\{ホスト名}\@SSL\DavWWWRoot\{ライブラリの名前}をコピーしてください。

フォルダのコピーアクションの設置

次に、フォルダのコピーアクションを設置し、以下のような設定をします。

項目
コピーするフォルダー フォルダAのパス
宛先フォルダー コピーした\\{ホスト名}\@SSL\DavWWWRoot\{ライブラリの名前}
フォルダが存在する場合 何もしない

実行してみる

準備ができたので、実行してみます。

結果、フォルダができて

中身をしっかりコピーできています。

今回はフォルダでやってみましたが、もちろんファイルも可能です。

注意点

上記方法で、ローカルのように扱うことができますが、エクスプローラーで表示をクリックしてからしばらく経過すると、急に使えなくなることがあります。
その場合は、エクスプローラーで表示を再度クリックしてあげると、また使えるようになります。

感想

OneDrive 同期クライアントが使えれば、当然そちらのほうがいいと思いますので、そちらをご利用ください。
IE 使えばこんなことしなくてもいいですって?なんですか IE って、僕は知らないなあ。