-
こんにちは。
遠方の知人に頼まれてフローを作っています。
自分の環境では成功していますが、知人の環境では表題のエラーが発生し、失敗します。
知人の環境はWindows11で、PADは最新版、私と全く同じ環境です。
メインとサブの2つのフローを使っており、処理の流れを以下に簡潔に書きます。
メイン
– ユーザーがフォルダを選択する。InputDirectoryとする
サブ
– エクセルを起動する
– InputDirectroyの中からすべての xlsx ファイルを探し、ループで開く
– それぞれのxlsxファイルの1列目を、リスト変数Listに格納する
– Listの中で重複を削除する
– 空白のドキュメントにListを書き込む(エラー発生)
サブフローの一番最後でエラーが発生します。 そこで、次のフローを作り、知人の環境で実行してもらいました。すると、エラーは発生しませんでした。
実験
– ユーザーがフォルダを選択する
– エクセルを起動する
– エクセルワークシートに「test」と書き込む
– エクセルを選択されたフォルダに保存する
なぜ私の環境では発生しないエラーが、彼の環境では発生するのでしょう。 また、なぜ実験フローではエラーが発生しなかったのでしょうか。
力をお貸しください。
-
Excel起動時のループが気になりました。
ループ前に起動しているExcelは転記先のExcelという認識で相違ないでしょうか?
「Excelを起動する」アクションではExcelインスタンスを変数名「ExcelInstance」に格納します。
ループ内で起動している各Excelが格納される変数が「ExcelInstance」のままになっているなど、ループ前の起動アクションと同じものに格納していませんか?
1.ループ前に「Excelを起動する」(空白のドキュメントを使用)->変数:ExcelInstance
2-0.ループを開始
2-1.ループ内で「Excelを起動する」(次のドキュメントを使用)->変数:ExcelInstance
2-2.Excelを読み取り、重複削除
2-3.Excelを閉じる->ExcelInstanceが空になる
2-4. 1.で起動したExcelへ記入しようとしてエラー
2-5. ループ終了
3.フロー終了
この場合1.で起動したインスタンスを2-2.で上書き、2-3.でインスタンスが削除されているため、書き込み先が見つからずエラーとなります。
上記は一例ですが、より詳細に確認するため、差し支えなければ発生しているエラーの文面を回答として追記していただくことは可能でしょうか?
参考になれば幸いです。
-
Re-T さま
ご回答ありがとうございます!
>>ループ前に起動しているExcelは転記先のExcelという認識で相違ないでしょうか?
相違ございません!
>>ループ内で起動している各Excelが格納される変数が「ExcelInstance」のままになっているなど、ループ前の起動アクションと同じものに格納していませんか?
最初に起動するExcel=書き込み先のExcel:ExcelInstance
ループ内で起動・閉じる:ResourceExcelInstance
以上のように使い分けております。
知人に共有してもらったスクリーンショットのURLを共有いたします。もし全文が必要でしたらおっしゃってください。
https://gyazo.com/54cc273d39537b147ca5458eacaf60de
ほとほと困り果てているので、何か気になることがあれば遠慮なくおっしゃってください!
どうぞよろしくお願いいたします。
-
zawaさん
変数名などご返信いただきありがとうございます。
zawaさんと同一のフローなのに知人の方の環境でエラーの有無があるという点が気になり、色々と確認してみたのですが、デバッグを行っていただくのが有効かと思います。
エラーが発生しているListを書き込むアクションの直前でフローを一時停止していただき、変数値を確認してみてください。
一時停止中にzawaさんと知人の方環境で、アクションで使用している変数どれかに値が異なる変数はないでしょうか?
変数値の差異から原因の特定につながることもありますし、
差異が全く無い場合は実行端末やExcelの設定など環境の違いによるものかもしれませんので、
切り分けるためにも確認結果教えていただけますでしょうか?
以下参考情報になります。
・フローの一時停止方法
https://docs.microsoft.com/ja-jp/power-automate/desktop-flows/debugging-flow#adding-breakpoints
・変数値の確認方法
-
-
1 - 2 of 2 回答を表示