Microsoft製RPAツール「Power Automate Desktop」で作成した自動化のフロー(ソース)は、Microsoft OneDrive(クラウド上)に保存される。
クラウド上に保存されているから、他のWindows10環境で実行したい場合、フローのファイルを持って行かなくてもいい。
これは、いいんだけど、作成したフローを他の人(他Microsoftアカウント)のPCに持って行きたい場合、ちょっと苦労する。
一応、以下の手順で持って行くことができたので覚え書き。
- コピー元のフロー編集画面を開く
- コピー
適当な1行選択してから、
[Ctrl]+[A]キーで、全選択し、
[Ctrl]+[C]キーで、コピー。
- メモ帳等に貼り付けて保存
- コピー先PCで、Power Automate Desktop起動し「新しフロー」押下
- 任意のフロー名を入力し「作成」押下
- フロー編集画面に貼り付け
メモ帳の内容をコピーし、フロー編集画面に貼り付け。
- 完成
ちなみに、この前に苦労してまとめた下記情報(↓)は誤りでした。
他のMicrosoftアカウントでフローを読み込めなかったので取り消しです。
(フローのファイルをバックアップする際は、下記手順は参考になりそうなので一応残しておきます。)
- OneDriveにログイン
Power Automate Desktopのフローを作成した人のMicrosoftアカウントで、OneDriveにログイン。
→Microsoft OneDrive
- Power Automate Desktopのファイル
[自分のファイル] > [アプリ] > [Power Automate Desktop For Windows]のページに移動。
- ダウンロード
ファイル名は、Power Automate Desktop上のフロー名ではなく、id名となっている。
更新日で特定することも可能だけど、フローが増えてくると、どのidがどのフローか分かりにくい。
対象フローが特定できる場合は、そのファイルを選択。
どのフローか分からない場合は、とりあえず全選択。
そして「ダウンロード」実行。
→zipファイルとしてダウンロードされる。
- フロー名を調べる
フローは、以下のように2つのファイルで構成されている。
・(id名)
・(id名).metaフロー名は、「(id名).meta」に保存されている。
①ファイルをメモ帳等で開き、内容をクリップボードにコピー
②コピーした内容をBase64デコードする
例)- Webツールで変換する場合
→https://tool-taro.com/base64_decode/ - PowerShellで変換する場合
base64decode.ps1$base64str = "ここに①でコピーした文字列(Base64文字列)を貼付け" $byte = [System.Convert]::FromBase64String( $base64str ) Write-Host ([System.Text.Encoding]::UTF8.GetString( $byte ))
- Webツールで変換する場合
- フロー名の確認
以下のような文字列が返されるので、「name」部分を確認。{"id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","name":"楽天","projectCTag":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
⇒上記の場合「楽天」という部分がフロー名となる。
Power Automate Desktop上のフロー名と一致していれば、これが対象のファイルということになる。
- フロー名が一致した2つのファイルをコピー。
・(id名)
・(id名).meta
- アップロード
今度は、コピーしたい方のMicrosoftアカウントでOneDriveにアクセスし、[自分のファイル] > [アプリ] > [Power Automate Desktop For Windows]のページでアップロード。
これでフローのコピーは完了。「Power Automate Desktop」を起動すると、「自分のフロー」に追加される。