![ピピンプイ](https://itnetone.com/wp-content/themes/cocoon-master/images/man.png)
今回はユーザー側が複数のファイルを選択して、Power Automate Desktopにファイルを取り込む方法をご紹介します。
最初に使用するアクションとフローの完成形を見てみます。
使用するアクション
- カスタムフォームを表示
- 新しいリストの作成
- If
- Else
- ループを抜ける
- 項目をリストに追加
- 変数の設定
- ループ条件
フローの完成形
![フローの完成形](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile33.jpg)
![カスタムフォームを表示](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile27.jpg)
![カスタムフォームを表示](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile29.jpg)
今回は3つのExcelブックをPower Automate Desktopに取り込みます。
![Excelブック](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile34.jpg)
フローの実行動画
1.カスタムフォームを表示
「カスタムフォームを表示」アクションを使用して、ファイルを選択できるフォームを作成します。
1.アクションの「メッセージボックス」から「カスタムフォームを表示」をワークスペースにドラッグします。
2.パラメータ選択の「カスタムフォームデザイナー」をクリックします。
![カスタムフォームデザイナー](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile3.jpg)
3.フォーム要素の「入力」「要素」「アクション」から必要な要素をドラッグします。
今回使用するフォームの要素は
・テキストブロック(フォームのタイトルに使用)
・ファイル入力(最初と2番目のファイルを選択)
・切り替え入力(さらに別のファイルを選択する)
・送信(ファイル選択後の処理)
![カスタムフォームデザイナーの入力](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile4.jpg)
テキストブロック
フォーム内容をタイトルでお知らせします。
![カスタムフォームデザイナーの入力](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile5.jpg)
必要な項目を入力します。
ID:Title
テキスト:PADに読み取るファイルを選択してください。
太さ:ボルダー
ファイル入力
最初と2番目のファイルを選択できるように「ファイル入力」を設置します。
![カスタムフォームデザイナーの入力](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile6.jpg)
ID:FirstFile
ラベル:最初のファイルを選択します。
検証:必須
エラーメッセージ:ファイルが選択されていません。
ファイルを選択しないで、「OK」ボタンを押した場合にエラーメッセージが表示できるように設定します。
ID:SecondFile
ラベル:2番目のファイルを選択します。
検証:必須
エラーメッセージ:ファイルが選択されていません。
![エラーメッセージ](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile28.jpg)
切り替え入力
変数に値のTrueが含まれている場合、別のファイルを選択するように設定します。
![カスタムフォームデザイナーの入力](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile7.jpg)
ID:AnotherFile
タイトル:さらに別のファイルを選択しますか?
有効時の値:True
無効時の値:False
送信
フォームの最後に「送信」ボタンを押して処理を実行します。
![カスタムフォームデザイナーの入力](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile8.jpg)
ID:Submit
タイトル:Ok
フロー実行後の変数の値
![カスタムフォームを表示
変数の値](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile30.jpg)
※さらに別のファイルを選択した場合「AnotherFile」がTrueになります。
2.新しいリストの作成
「新しいリストの作成」で作成した変数に「カスタムフォームを表示」で選択したファイルを取り込みます。
1.アクションの「変数」から「新しいリストの作成」をワークスペースにドラッグします。
2.変数を「File」に変更します。
※自分で解りやすい変数名に変更します。
![新しいリストの作成](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile9.jpg)
フローの実行後の変数の値
![変数の値](https://itnetone.com/wp-content/uploads/2022/07/image-4.png)
3.If
次に、上記の「カスタムフォームを表示」で作成したフォームをキャンセルした場合に、それ以降の処理を行わないようにIFで処理します。
![カスタムフォームを表示を閉じる](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile25.jpg)
1.アクションの「条件」から「If」をドラッグします。
![IF](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile10.jpg)
・最初のオペランド:カスタムフォームを表示で生成された変数 %ButtonPressed% を入力します。
{☓}から選択することが出来ます。
・演算子:と等しくない(<>) を選択します。
・2番目のオペランド:Cancel と入力します。
IFの条件分岐で、キャンセルではない(等しくない)場合に処理が実行されます。
キャンセルした場合は、処理が中断されます。
4~5.項目をリストに追加
カスタムフォームを表示した後、選択したファイルを「新しいリストの作成」で作成したリストに保存します。
1.アクションの「変数」から「項目をリストに追加」をドラッグします。
![項目をリストに追加
firstfile](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile11.jpg)
「カスタムフォームを表示」で生成された変数%CustomFormData[‘FirstFile’]%に入っているファイルを「新しいリストの作成」で作成した%File%に格納します。
![項目をリストに追加
secondfile](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile12.jpg)
「カスタムフォームを表示」で生成された変数%CustomFormData[‘SecondFile’]%に入っているファイルを「新しいリストの作成」で作成した%File%に格納します。
6.変数の設定
「カスタムフォームを表示」で生成された変数%CustomFormData[‘AnotherFile’]%を変数の設定でAnotherFileに値(TrueかFalse)を設定して、AnotherFile変数に値Trueが含まれている限り、ループを繰り返すように設定します。
1.アクションの「変数」から「変数の設定」をドラッグします。
![変数の設定
Another File](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile13.jpg)
「カスタムフォームを表示」で生成された変数%CustomFormData[‘AnotherFile’]%を変数の設定でAnotherFileに値を設定します。
後でIFのアクションを使用して、Trueで処理を実行して別のファイルを選択できるようにします。
7.ループ条件
AnotherFile変数に値のTrueが含まれている限り、ループを繰り返すようにします。
1.アクションの「ループ」から「ループ条件」をドラッグします。
![ループ条件](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile14.jpg)
・最初のオペランド:True
・演算子:と等しい(=) を選択します。
・2番目のオペランド:True
8.If
最初の2つのファイルだけ選択して、3つ目のファイルを選択しなかった場合に、「別のファイルを選択する」のループから抜けるか、さらに別のファイルを選択した場合の処理の設定を行います。
AnotherFileにTrueが格納されている場合にファイルの選択を求める処理を行います。
1.アクションの「条件」から「If」をドラッグします。
![IF](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile15.jpg)
・最初のオペランド:変数の設定で設定した変数 %AnotherFile% を入力します。
{☓}から選択することが出来ます。
・演算子:と等しい(=) を選択します。
・2番目のオペランド:Trueと入力します。
9.カスタムフォームを表示
別のファイルを選択できるようにします。
1.アクションの「メッセージボックス」から「カスタムフォームを表示」をワークスペースにドラッグします。
2.パラメータ選択の「カスタムフォームデザイナー」をクリックします。
![カスタムフォームを表示](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile16.jpg)
![カスタムフォームを表示
ファイル入力](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile17.jpg)
ID:AdditionalFile
ラベル:別のファイルを選択してください。
検証:必須
![カスタムフォームを表示
切り替え入力](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile18.jpg)
ID:AnotherFile
ラベル:別のファイルを選択しますか?
タイトル:はい
有効時の値:True
無効時の値:False
![カスタムフォームを表示
送信](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile19.jpg)
ID:Submit
タイトル:Ok
フロー実行時の変数の値
![カスタムフォームを表示
変数の値](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile31.jpg)
※別のファイルを選択しなかった場合:Falseになります。
10.項目をリストに追加
カスタムフォームを表示した後、選択したファイルをリストに保存します。
1.アクションの「変数」から「項目をリストに追加」をドラッグします。
![項目をリストに追加](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile20.jpg)
「カスタムフォームを表示」で生成された変数%CustomFormData2[‘AdditionalFile’]%に入っているファイルを「新しいリストの作成」で作成した%File%に格納します。
11.変数の設定
2回目の「カスタムフォームを表示」で生成された変数%CustomFormData2[‘AnotherFile’]%を変数の設定でAnotherFileに値(TrueかFalse)を設定して、AnotherFile変数に値Trueが含まれている限り、ループを繰り返すように設定します。
1.アクションの「変数」から「変数の設定」をドラッグします。
![変数の設定](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile21.jpg)
「カスタムフォームを表示」で生成された変数%CustomFormData2[‘AnotherFile’]%を変数の設定でAnotherFileに値を設定します。
12~13.Elseとループを抜ける
4つ目のファイルを選択しなかった場合に、「別のファイルを選択する」のループから抜けます。
1.アクションの「条件」から「Else」をドラッグします。
2.アクションの「ループ」から「ループを抜ける」をドラッグします。
![ループを抜ける](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile22.jpg)
14~16.End
最後にIfとループ条件の配置を確認します。
![フローの完成形](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile33.jpg)
フローの実行
フローの実行後、変数「File」に選択したファイルが格納されました。
![変数に格納されたファイル](https://itnetone.com/wp-content/uploads/2022/07/padAdditionalFile32.jpg)