PowerAutomateでExcelの名前付きセルに書き込もうとしたら、エラーが出た。その後、書き込みたいセルがあるシートをアクティブにしてから書き込むという動作にすることで、解決した。
困ったこと
PowerAutomate で Excel の名前付きセルに書き込もうとしたら、エラーが出た。
エラーが出たアクションの種類、「Excel ワークシートに書き込む」アクション。その中の「書き込みモード」は、「名前付きセル」としている。
エラーの詳細
Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK.ActionException: 指定されたセル名が見つかりませんでした 場所 Microsoft.Flow.RPA.Desktop.Modules.Excel.Actions.WriteToExcel.Execute(ActionContext context) 場所 Microsoft.Flow.RPA.Desktop.Robin.Engine.Execution.ActionRunner.Run(IActionStatement statement, Dictionary`2 inputArguments, Dictionary`2 outputArguments)
環境
- Power Automate 2.38.00231.23307
- Microsoft Excel for Microsoft 365 MSO (バージョン 2310 ビルド 16.0.16924.20054) 64 ビット
まず確認したこと
まずは該当の Excel ファイルを開き、以下を確認してみた。
今回指定した「名前付きセル」の名前はちゃんと対象の Excel ファイルの中に存在しており、またその指定先セルもちゃんと書き込めるセルとして存在することを確認した。
なので、今回の問題は Excel の[名前の定義]のところではない。
原因
いくつか試した結果、原因がだいたい分かった。
書き込み対象として開かれているExcelファイルにて、「名前付きセル」として指定しているセルのあるシートがアクティブになっていないことが原因だった模様。
解決策
エラーが起きているアクションの直前に、「アクティブな Excel ワークシートの設定」アクションを挿入し、その中で、今回書き込み対象としているセルが存在するシートを指定した。
そして PowerAutomate でフローをもう一度実行したところ、今度はエラーが起こらず、意図したとおりにExcelの指定セルに書きこまれることができた。
所感
Excel上で「名前付きセル」といえば、シートの場所名も含んでいることから、どのシートが開かれていても(どのシートがアクティブになっていても)辿りつけるものだと思っていた。しかし、少なくとも今回はそうではなかったようだ。