0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Automate for desktopで大量の変数設定が面倒になったらJSONを使う

0
Posted at

はじめに

Power Automate for desktop(PAD)でフローを作っていると、フォルダーのPathやURL、ファイル名など、変わらない値を使う項目があります。

こういった項目は、次のような方法で管理できます。

  • フロー変数
  • Excel
  • XML
  • JSON(今回紹介)

どの方法も間違いではありません。

ただ、設定項目が増えてくると、変数を何個も作成したり、XMLから要素を取得したりと、少し手間がかかってきます。

そこで今回は、そんな面倒くさがりな私が普段よく利用しているJSONで管理する方法をご紹介します。

まずJSONとして書き出す

まずは、テキストファイルにフォルダーのPathなどを記載したJSONオブジェクトを作成します。

作成は手作業でもできますが、CopilotやChatGPTなどの生成AIを利用することをお勧めします。

{
  "DownloadsPath": "C:\\Users\\〇〇\\Downloads",
  "ImportPath": "C:\\Users\\〇〇\\Import",
  "ArchivePath": "C:\\Users\\〇〇\\Archive",
  "ErrorsPath": "C:\\Users\\〇〇\\Errors",
  "LogsPath": "C:\\Users\\〇〇\\Logs",

  "ServerImportPath": "\\\\FileServer\\Share\\Import",
  "ServerArchivePath": "\\\\FileServer\\Share\\Archive"
}

ポイント

  • ローカルパスは C:\Users\〇〇\Downloads のように記述しますが、JSONでは \ をそのまま書くことができません。そのため、\\ のように 2つ続けて記述する必要があります。

  • ファイルサーバーは \\FileServer\Share\Import のような形式ですが、JSONでは \\\\FileServer\\Share\\Import と記述します。

image.png

入力が終わったら、テキストファイルを保存します。

JSONファイルを読み込む

まずは、作成したテキストファイルを「ファイルからテキストを読み込む」アクションで読み込みます。

image.png

読み込んだ値は文字列(テキスト)のため、このままでは DownloadsPath などの値を取得できません。

そこで、「JSONをカスタムオブジェクトに変換」アクションを使用して、JSONをカスタムオブジェクトへ変換します。

image.png

フローを実行すると、JSONに記載したすべてのPathが一度に読み込まれていることが分かりますね。

image.png

あとは、後続のアクションで下記のように指定するだけでPathとして利用できます。

%JsonAsCustomObject['DownloadsPath']%

image.png

フローの中に直接Pathを埋め込みたい時

フローの中に直接Pathを埋め込みたい時は、「JSONをカスタムオブジェクトに変換」にオブジェクトを直接記入します。
image.png

誰のPC上でも特定のフォルダを指定したい時

ローカルパスを下記のようにしておけば、各PCのユーザー名に合わせて動的に変更することもできます。

C:\Users\〇〇\Downloads

「Windows 環境変数を取得」アクションで USERNAME を取得し、「テキストを置き換える」アクションで 〇〇 の部分を置き換えるだけです。

これにより、ユーザーごとに異なるローカルフォルダーでも、JSONファイルを変更することなく利用できます。

image.png

JSONを使うメリット

私が感じているメリットはこちらです。

  • 設定を1か所で管理できるので、項目の追加・削除が簡単
  • 「JSONをカスタムオブジェクトに変換」アクションですぐ利用できる
  • フロー内の変数設定がスッキリする
  • フローを別のPCへ配布しやすい
  • PCごとのローカル環境に合わせた設定にしやすい

設定項目が増えてくると、フロー内に変数を大量に用意するよりも管理しやすくなります。

最後に

こういう小さな工夫を考えるのも、Power Automate for desktopの楽しさの一つだと思っています。

フォルダーPathだけではなく、URLやファイル名など、さまざまな情報もまとめて管理できますので、ぜひ一度試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?