Power Automate でパラメーターと戻り値の型をスクリプト化する
Power Automate は、プログラムを 1 つの自動化されたワークフローにまとめます。 各コネクタには、受け入れるパラメーターと返される値が異なります。 スクリプトを記述して、"スクリプトの実行" Power Automate アクションを展開して、追加の入力を取得したり、出力を提供したりできます。
スクリプトの入力は、 関数にパラメーターを main
追加することによって指定されます。 スクリプトからの出力は、main
に戻り値の型を追加することによって宣言されます。
注:
フローに "スクリプトの実行" ブロックを作成すると、受け入れられたパラメーターと返される型が設定されます。 スクリプトのパラメーターまたは戻り値の型を変更する場合は、フローの "スクリプトの実行" ブロックを再実行する必要があります。 これにより、データが正しく解析されていることが確認されます。
main
parameters: スクリプトにデータを渡す
すべてのスクリプト入力は、main
関数の追加パラメーターとして指定されます。 必須 workbook: ExcelScript.Workbook
パラメーターの後に新しいパラメーターが追加されます。 たとえば、入力として名前を表す string
をスクリプトで受け入れるようにする場合は、main
署名を function main(workbook: ExcelScript.Workbook, name: string)
に変更します。
オプションのパラメーター
省略可能なパラメーターには、フロー内の値は必要ありません。 これらはスクリプトで 省略可能な修飾子?
で示されます (たとえば、 function main(workbook: ExcelScript.Workbook, Name?: string)
パラメーター Name
は省略可能です)。
既定のパラメーター値
既定のパラメーター値 は、アクションのフィールドに値を自動的に入力します。 また、外部入力なしで Excel でスクリプトを実行することもできます。 既定値を設定するには、署名の パラメーターに値を main
割り当てます。 たとえば、 パラメーターlocation
のfunction main(workbook: ExcelScript.Workbook, location: string = "Seattle")
値"Seattle"
は、フローが何か他のものを提供しない限りです。
パラメーターのドロップダウン リスト
許容できるパラメーターの選択肢の一覧を提供することで、フローでスクリプトを使用する他のユーザーを支援します。 スクリプトで使用する値のサブセットが少ない場合は、それらのリテラル値であるパラメーターを作成します。 これを行うには、パラメーターの型を リテラル値の和集合として宣言します。 たとえば、 パラメーターlocation
には function main(workbook: ExcelScript.Workbook, location: "Seattle" | "Redmond")
または のみを指定"Seattle"
"Redmond"
できます。 Power Automate に表示されると、これらの 2 つのオプションを含むドロップダウン リストがユーザーに表示されます。
スクリプトからデータを返す
スクリプトではブックからデータを返すことができ、Power Automate フローの動的なコンテンツとして使用することができます。 オブジェクトを返すには、戻り値の型構文を main
関数に追加します。 たとえば、スクリプトから string
値を返す場合、main
シグネチャは function main(workbook: ExcelScript.Workbook): string
になります。
返された値は、フローの [スクリプトの実行] アクションの動的コンテンツとして表示されます。 動的コンテンツの名前は "result" です。
入力の制限
入力パラメーターと戻り値を追加する場合は、次の許容量と制限を考慮してください。
最後のパラメーターは
ExcelScript.Workbook
の型にする必要があります。 パラメーター名は関係ありません。型
string
、number
、boolean
、unknown
、object
、およびundefined
がサポートされています。前述の型の配列 (
[]
とArray<T>
スタイルの両方) がサポートされています。 入れ子になった配列もサポートされています。共用体型は、単一の型に属するリテラルの共用体 (
"Left", 5
ではなく、"Left" | "Right"
など) の場合に許可されます。 undefined を含むサポートされる型の共用体 (string | undefined
など) もサポートされます。オブジェクト型は、型
string
、number
、boolean
、サポートされている配列、または他のサポートされているオブジェクトのプロパティが含まれる場合に許可されます。 次の例は、パラメーターの型としてサポートされる入れ子にされたオブジェクトを示しています。// The Employee object is supported because Position is also composed of supported types. interface Employee { name: string; job: Position; } interface Position { id: number; title: string; }
オブジェクトのインターフェイスまたはクラス定義はスクリプトで定義されている必要があります。 次の例のように、オブジェクトをインラインで匿名で定義することができます。
function main(workbook: ExcelScript.Workbook): {name: string, email: string}