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 割り当てます。 たとえば、 パラメーターlocationfunction main(workbook: ExcelScript.Workbook, location: string = "Seattle")"Seattle"は、フローが何か他のものを提供しない限りです。

許容できるパラメーターの選択肢の一覧を提供することで、フローでスクリプトを使用する他のユーザーを支援します。 スクリプトで使用する値のサブセットが少ない場合は、それらのリテラル値であるパラメーターを作成します。 これを行うには、パラメーターの型を リテラル値の和集合として宣言します。 たとえば、 パラメーターlocationには function main(workbook: ExcelScript.Workbook, location: "Seattle" | "Redmond") または のみを指定"Seattle""Redmond"できます。 Power Automate に表示されると、これらの 2 つのオプションを含むドロップダウン リストがユーザーに表示されます。

'Seattle' と 'Redmond' の間の選択肢がある 'Location' という名前の追加のパラメーター フィールドを示すスクリプトの実行アクション。

スクリプトからデータを返す

スクリプトではブックからデータを返すことができ、Power Automate フローの動的なコンテンツとして使用することができます。 オブジェクトを返すには、戻り値の型構文を main 関数に追加します。 たとえば、スクリプトから string 値を返す場合、main シグネチャは function main(workbook: ExcelScript.Workbook): string になります。

返された値は、フローの [スクリプトの実行] アクションの動的コンテンツとして表示されます。 動的コンテンツの名前は "result" です。

入力の制限

入力パラメーターと戻り値を追加する場合は、次の許容量と制限を考慮してください。

  1. 最後のパラメーターは ExcelScript.Workbook の型にする必要があります。 パラメーター名は関係ありません。

  2. stringnumberbooleanunknownobject、および undefined がサポートされています。

  3. 前述の型の配列 ([]Array<T> スタイルの両方) がサポートされています。 入れ子になった配列もサポートされています。

  4. 共用体型は、単一の型に属するリテラルの共用体 ("Left", 5 ではなく、"Left" | "Right" など) の場合に許可されます。 undefined を含むサポートされる型の共用体 (string | undefined など) もサポートされます。

  5. オブジェクト型は、型 stringnumberboolean、サポートされている配列、または他のサポートされているオブジェクトのプロパティが含まれる場合に許可されます。 次の例は、パラメーターの型としてサポートされる入れ子にされたオブジェクトを示しています。

    // 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;
    }
    
  6. オブジェクトのインターフェイスまたはクラス定義はスクリプトで定義されている必要があります。 次の例のように、オブジェクトをインラインで匿名で定義することができます。

    function main(workbook: ExcelScript.Workbook): {name: string, email: string}
    

関連項目