はじめに
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と記述します。
入力が終わったら、テキストファイルを保存します。
JSONファイルを読み込む
まずは、作成したテキストファイルを「ファイルからテキストを読み込む」アクションで読み込みます。
読み込んだ値は文字列(テキスト)のため、このままでは DownloadsPath などの値を取得できません。
そこで、「JSONをカスタムオブジェクトに変換」アクションを使用して、JSONをカスタムオブジェクトへ変換します。
フローを実行すると、JSONに記載したすべてのPathが一度に読み込まれていることが分かりますね。
あとは、後続のアクションで下記のように指定するだけでPathとして利用できます。
%JsonAsCustomObject['DownloadsPath']%
フローの中に直接Pathを埋め込みたい時
フローの中に直接Pathを埋め込みたい時は、「JSONをカスタムオブジェクトに変換」にオブジェクトを直接記入します。

誰のPC上でも特定のフォルダを指定したい時
ローカルパスを下記のようにしておけば、各PCのユーザー名に合わせて動的に変更することもできます。
C:\Users\〇〇\Downloads
「Windows 環境変数を取得」アクションで USERNAME を取得し、「テキストを置き換える」アクションで 〇〇 の部分を置き換えるだけです。
これにより、ユーザーごとに異なるローカルフォルダーでも、JSONファイルを変更することなく利用できます。
JSONを使うメリット
私が感じているメリットはこちらです。
- 設定を1か所で管理できるので、項目の追加・削除が簡単
- 「JSONをカスタムオブジェクトに変換」アクションですぐ利用できる
- フロー内の変数設定がスッキリする
- フローを別のPCへ配布しやすい
- PCごとのローカル環境に合わせた設定にしやすい
設定項目が増えてくると、フロー内に変数を大量に用意するよりも管理しやすくなります。
最後に
こういう小さな工夫を考えるのも、Power Automate for desktopの楽しさの一つだと思っています。
フォルダーPathだけではなく、URLやファイル名など、さまざまな情報もまとめて管理できますので、ぜひ一度試してみてください。





