手動 Power Automation フローからスクリプトを呼び出す

このチュートリアルでは、 Power Automate を使用して Office Script for Excel を実行する方法について説明します。 現在の時刻で 2 つのセルの値を更新するスクリプトを作成します。 次に、このスクリプトを手動でトリガーした Power Automate フローに接続し、Power Automate のボタンを選択したときにいつでもこのスクリプトが実行されるようにします。 基本的なパターンを理解したら、フローを拡大して他のアプリケーションを含めることができ、毎日のワークフローの自動化を進めることが可能です。

ヒント

Office スクリプトを初めて使用する場合は、「 Excel で Office スクリプトを記録、編集、作成する 」チュートリアルから開始することをお勧めします。 Office スクリプトは TypeScript を使用します。このチュートリアルは、JavaScript や TypeScript について初級から中級レベルの知識を持つユーザーを対象としています。 JavaScript を使い慣れていない場合は、「Mozilla の JavaScript チュートリアル」から始めることをお勧めします。

前提条件

このチュートリアルを開始するには、以下へのアクセスが必要です。

ブックを準備する

Power Automate では、ブック コンポーネントにアクセスするために Workbook.getActiveWorksheet などの相対参照を使わないようにする必要があります。 そのため、Power Automate で参照できる一貫性のある名前のブックとワークシートが必要です。

  1. MyWorkbook という名前の新しいブックを作成します。

  2. MyWorkbook というワークブック内に、TutorialWorksheet という名前のワークシートを作成します。

オフィス スクリプトを作成する

  1. [オートメーション] タブに移動して [すべてのスクリプト] を選択します。

  2. [新しいスクリプト] を選択します。

  3. 既定のスクリプトを次のスクリプトに置き換えます。 このスクリプトは、TutorialWorksheet というワークシートの最初の 2 つのセルに現在の日付と時刻を追加します。

    function main(workbook: ExcelScript.Workbook) {
      // Get the "TutorialWorksheet" worksheet from the workbook.
      let worksheet = workbook.getWorksheet("TutorialWorksheet");
    
      // Get the cells at A1 and B1.
      let dateRange = worksheet.getRange("A1");
      let timeRange = worksheet.getRange("B1");
    
      // Get the current date and time using the JavaScript Date object.
      let date = new Date(Date.now());
    
      // Add the date string to A1.
      dateRange.setValue(date.toLocaleDateString());
    
      // Add the time string to B1.
      timeRange.setValue(date.toLocaleTimeString());
    }
    
  4. スクリプトの名前を [日付と時刻の設定] に変更します。 スクリプト名を選択して変更します。

  5. スクリプトを保存するには [スクリプトの保存] を選択します。

Power Automate を使用して自動化されたワークフローを作成する

  1. 「Power Automate のサイト」にサインインします。

  2. 画面の左側に表示されるメニューで、[作成] を選択します。 これにより、新しいワークフローを作成する方法の一覧を表示できます。

    Power Automate の [作成] ボタン。

  3. [白紙から初める] セクションで、[インスタント フロー] を選択します。 これで、手動でアクティベートされたワークフローが作成されます。

    新しいワークフローを作成するための Power Automate インスタント フロー オプション

  4. 表示されたダイアログ ウィンドウで、フローの名前を [フロー名] テキスト ボックスに入力し、[フローをトリガーする方法の選択] のオプションの一覧から [手動でフローをトリガーする] を選択し、[作成]を選択します。

    Power Automate の[手動でフローをトリガーする] オプション。

    手動でトリガーするフローは、いくつかあるフローの種類のうちの 1 つです。 次のチュートリアルでは、メールを受信したときに自動的に実行されるフローを作成します。

  5. [新しいステップ] を選択します。

  6. [標準] タブを選択し、Excel Online (ビジネス) を選択します。

    Power Automate の [Excel Online (Business)] オプション。

  7. [アクション] で、[スクリプトの実行] を選択します。

    Power Automate の [スクリプトの実行] アクションのオプション

  8. 次に、フロー ステップで使用するブックおよびスクリプトを選択します。 このチュートリアルでは、OneDrive に作成したブックを使用しますが、OneDrive サイトまたは SharePoint サイトでは任意のブックを使用できます。 スクリプトの実行コネクタには、次の設定を指定します。

    • 場所: OneDrive for Business
    • ドキュメント ライブラリ: OneDrive
    • ファイル: MyWorkbook.xlsx (ファイル ブラウザーを使用して選択されています)
    • スクリプト: 日時を設定

    スクリプトを実行するための Power Automate コネクタの設定。

  9. [保存] を選択します。

これで、フローは Power Automate で実行できるようになりました。 フロー エディターの [テスト] ボタンを使用してテストするか、チュートリアルの残りの手順に従って、フロー コレクションからフローを実行できます。

Power Automate でスクリプトを実行する

  1. Power Automate のメイン ページで、[自分のフロー] を選択します。

    Power Automate の [自分のフロー] ボタン。

  2. [自分のフロー] タブに表示されているフローの一覧から、[自分のチュートリアル フロー] を選択すると、以前に作成したフローの詳細が表示されます。

  3. [実行] を選択します。

    Power Automate の [実行] ボタン。

  4. フローを実行するための作業ウィンドウが表示されます。 Excel Online へのサインインを要求された場合は、[続行] を選択します。

  5. [フローの実行] を選択します。 これにより、関連する Office スクリプトを実行するフローが実行されます。

  6. [完了] を選択します。 それに応じて [実行] セクションが更新されます。

  7. ページを更新して、Power Automate の結果を表示します。 エラーが発生した場合は、フローの設定を確認し、もう一度実行します。

    正常にフローが発生したことを示す Power Automate 出力。

  8. ブックを開いて、更新されたセルを表示します。 セル A1 に現在の日付が表示され、セル B1 に現在の時刻が表示されます。 Power Automate では協定世界時 (UTC) が使用されるため、時刻は現在のタイム ゾーンからオフセットされる可能性があります。

    セル A1 と B1 の日付と時刻の値を示すブック。

次の手順

「自動で実行される Power Automate フロー内で、データをスクリプトに渡す」のチュートリアルを完了します。 このコースでは、ワークフロー サービスから Office スクリプトにデータを渡す方法と、特定のイベントが発生したときに Power Automate フローを実行する方法について説明します。