Officeで実行されているスクリプトのトラブルシューティングPower Automate
Power Automateスクリプトの自動化をOfficeレベルに移動できます。 ただし、Power Automateセッションでスクリプトを代理で実行Excel、いくつかの重要な点に注意してください。
相対参照を避ける
Power Automate選択したブックでスクリプトをExcel代わりに実行します。 この場合、ブックが閉じられます。 ユーザーの現在の状態 Workbook.getActiveWorksheet
(など) に依存する API は、アプリケーションの動作が異Power Automate。 これは、API がユーザーのビューまたはカーソルの相対的な位置に基づいており、その参照がユーザー フロー内に存在Power Automateです。
一部の相対参照 API は、エラーをスロー Power Automate。 他のユーザーは、ユーザーの状態を意味する既定の動作を持っています。 スクリプトを設計する場合は、ワークシートと範囲に絶対参照を使用してください。 これにより、ワークシートPower Automate場合でも、フローの一貫性が保たれる可能性があります。
スクリプト フローで実行すると失敗するスクリプト メソッドPower Automateします。
次のメソッドは、エラーをスローし、エラー フロー内のスクリプトから呼び出Power Automateします。
クラス | Method |
---|---|
Chart | activate |
Range | select |
Workbook | getActiveCell |
Workbook | getActiveChart |
Workbook | getActiveSlicer |
Workbook | getSelectedRange |
Workbook | getSelectedRanges |
スクリプト フローの既定の動作を持つスクリプト メソッドPower Automateします。
次のメソッドは、ユーザーの現在の状態の代りとして、既定の動作を使用します。
クラス | Method | Power Automate動作 |
---|---|---|
Workbook | getActiveWorksheet |
ブックの最初のワークシート、またはメソッドによって現在アクティブ化されているワークシートのいずれかを返 Worksheet.activate します。 |
Worksheet | activate |
の目的でワークシートをアクティブなワークシートとしてマークします Workbook.getActiveWorksheet 。 |
データ更新は、データ更新プログラムではPower Automate
Officeスクリプトは、スクリプトで実行するとデータを更新Power Automate。 フローで呼び出 PivotTable.refresh
された場合は何もしないなどのメソッド。 さらに、Power Automateブック リンクを使用する数式のデータ更新はトリガーされません。
スクリプト フローで実行するときに何もしないスクリプト メソッドPower Automateします。
次のメソッドは、スクリプトを使用して呼び出した場合、スクリプトPower Automate。 それでも正常に返され、エラーはスローしません。
クラス | Method |
---|---|
PivotTable | refresh |
Workbook | refreshAllDataConnections |
ブック | refreshAllPivotTables |
ワークシート | refreshAllPivotTables |
ファイル ブラウザー コントロールを使用してブックを選択する
アプリケーション フローの スクリプトの実行 ステップPower Automate、フローの一部であるブックを選択する必要があります。 ブックの名前を手動で入力する代わりに、ファイル ブラウザーを使用してブックを選択します。
ブックの動的選択のPower Automateの詳細なコンテキストと回避策の詳細については、Microsoft Power Automate Community のこのスレッドを参照してください。
配列全体をスクリプト パラメーターとして渡す
Power Automateを使用すると、ユーザーは配列を変数として、または配列内の 1 つの要素としてコネクタに渡します。 既定では、フロー内に配列を構築する単一の要素を渡します。 配列全体を引数として受け取るスクリプトまたは他のコネクタの場合は、[配列全体を入力する切り替え] ボタンを選択して、配列を 1 つの完全なオブジェクトとして渡す必要があります。 このボタンは、各配列パラメーター入力フィールドの右上隅にあります。
タイム ゾーンの違い
Excelファイルに固有の場所やタイム ゾーンが存在しない場合。 ユーザーがブックを開くたび、そのユーザーのローカル タイム ゾーンを日付の計算に使用します。 Power Automateは常に UTC を使用します。
スクリプトで日付または時刻を使用する場合、スクリプトがローカルでテストされる場合と、スクリプトがローカルで実行される場合と、スクリプトの動作に違いPower Automate。 Power Automateを使用すると、変換、書式設定、調整を行います。 Power Automate および Parameters: Pass data to a script でこれらの関数を使用する方法については、「フローmain
内の日付と時刻の操作」を参照して、スクリプトの時間情報を提供する方法について説明します。
スクリプト パラメーター フィールドまたは返される出力が、スクリプト パラメーターフィールドに表示Power Automate
スクリプトのパラメーターまたは返されるデータが、データ フロー ビルダーに正確に反映されないPower Automateがあります。
- スクリプト署名 (パラメーターまたは戻り値) は、ビジネス (online) コネクタが追加Excel変更されています。
- スクリプト署名は、サポートされていない型を使用します。 パラメーターの下のリストに対して型を確認し、「スクリプトを使用してスクリプトを実行する」OfficeをPower Automateします。
スクリプトの署名は、作成時Excel ビジネス (Online) コネクタと一緒に格納されます。 古いコネクタを削除し、新しいコネクタを作成して、スクリプトの実行アクションの最新のパラメーターと戻り 値を取得 します。