Power Automate Desktop(PAD)でExcelの複数行データを読み取り、指定欄に順次入力する操作は初心者にとってエラーが出やすいポイントです。特に「列CurrentRow[15]の値を読み取る」といった操作でエラーが出る場合は、構文や変数の扱いを見直す必要があります。本記事では、Excelデータの繰り返し処理とエラー回避のポイントを解説します。
Excelデータの読み取りとFor Eachの基本
まずExcelワークシートからデータを読み取る際には、「Excelワークシートから読み取る」アクションでDataTableに保存します。このDataTableをFor Eachアクションで順に処理します。
ポイントは、DataTableの行(CurrentRow)を変数として正しく扱うことです。CurrentRowはDataRow型で、列にアクセスする場合は列名かインデックスを文字列として指定します。
列データの取得方法
CurrentRow[15]のように直接数値でアクセスする場合、0始まりのインデックスを意識する必要があります。H列の場合はインデックス7(A=0,B=1,…,H=7)です。
または列名を使用してCurrentRow[“H”]のように指定すると、読み取りミスを防ぎやすくなります。
具体例:繰り返し処理の流れ
1. Excelの起動とワークブックの開く
2. Excelワークシートから読み取り(DataTable変数に保存)
3. For Each CurrentRow in DataTable
4. CurrentRow[“H”]またはCurrentRow[7]の値を取得し、指定欄に入力
この流れであれば、各行のH列と次の列を順次取得し、入力アクションに渡すことができます。
エラー回避のポイント
・列インデックスは0始まりであることを確認する
・列名でアクセスする場合は正確な列ヘッダ名を使用する
・読み取り前にDataTableが空でないかチェックする
・For Each内で変数のスコープを正しく設定する
これらを意識することで、CurrentRow読み取りエラーを防ぎやすくなります。
実例:初心者でも動作する構成
実際に、ExcelのH列とI列の値を順番に入力する場合、DataTableに保存後、For EachでCurrentRowを取り出し、CurrentRow[“H”]とCurrentRow[“I”]を順次入力するだけで、最終行まで問題なく処理できます。
変数の型や列インデックスを確認し、入力アクションの前に値をログ出力すると、デバッグが容易です。
まとめ
PADでExcelの複数行データを順次入力する場合、DataTableの扱いと列インデックスの指定が重要です。CurrentRow[列名]を使うか、0始まりのインデックスを意識することで、初心者でもエラーを回避できます。
この手順を守れば、ExcelのH列、I列など複数列の値を繰り返し入力する自動化フローを安定して構築できます。


コメント