チュートリアル: Power Automate フローからスプレッドシートを更新する
このチュートリアルでは、 Power Automate を使用して Office Script for Excel を実行する方法について説明します。 現在の時刻で 2 つのセルの値を更新するスクリプトを作成します。 次に、このスクリプトを手動でトリガーした Power Automate フローに接続し、Power Automate のボタンを選択したときにいつでもこのスクリプトが実行されるようにします。 基本的なパターンを理解したら、フローを拡大して他のアプリケーションを含めることができ、毎日のワークフローの自動化を進めることが可能です。
ヒント
Office スクリプトを初めて使用する場合は、「 チュートリアル: Excel テーブルを作成して書式設定する」から始めてお勧めします。 Office スクリプトは TypeScript を使用します。このチュートリアルは、JavaScript や TypeScript について初級から中級レベルの知識を持つユーザーを対象としています。 JavaScript を使い慣れていない場合は、「Mozilla の JavaScript チュートリアル」から始めることをお勧めします。
前提条件
このチュートリアルでは、Office スクリプトと Power Automate にアクセスする必要があります。 [自動化] タブが表示されない場合は、 プラットフォームのサポート を確認してください。 Power Automate サインアップに関する FAQ には、Power Automate の概要に関する情報があります。
ブックを準備する
Power Automate では、ブック コンポーネントにアクセスするために Workbook.getActiveWorksheet
などの相対参照を使わないようにする必要があります。 そのため、Power Automate で参照できる一貫性のある名前のブックとワークシートが必要です。
MyWorkbook という名前の新しいブックを作成します。
MyWorkbook というワークブック内に、TutorialWorksheet という名前のワークシートを作成します。
オフィス スクリプトを作成する
[ 自動化 ] タブに移動し、[ 新しいスクリプト] を選択します。
既定のスクリプトを次のスクリプトに置き換えます。 このスクリプトは、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()); }
スクリプトの名前を [日付と時刻の設定] に変更します。 スクリプト名を選択して変更します。
スクリプトを保存するには [スクリプトの保存] を選択します。
Power Automate を使用して自動化されたワークフローを作成する
「Power Automate のサイト」にサインインします。
画面の左側に表示されるメニューで、[作成] を選択します。 これにより、新しいワークフローを作成する方法の一覧が表示されます。
[白紙から初める] セクションで、[インスタント フロー] を選択します。 これで、手動でアクティベートされたワークフローが作成されます。 イベントに基づいて開始するスケジュールされたフローとフローを作成することもできます。 これらは、次のチュートリアルで説明します。
ダイアログ ウインドウが表示されたら、[フロー名] のテキスト ボックスに、フローの名前を入力します。 [ フローをトリガーする方法の選択] で、オプションの一覧から [ フローを手動でトリガー する] を選択します。 [ 作成] を 選択して、初期セットアップを完了します。
手動でトリガーするフローは、いくつかあるフローの種類のうちの 1 つです。 次のチュートリアルでは、メールを受信したときに自動的に実行されるフローを作成します。
フロー ビルダーで、[アクションの追加] + ボタンを選択 します。
[ アクションの追加 ] 作業ウィンドウで、"Excel 実行スクリプト" を検索します。 Excel Online (Business) コネクタの [スクリプトの実行] アクションを選択します。 このアクションは、ブック上の OneDrive からスクリプトを実行します。 チームの SharePoint ライブラリに格納されているスクリプトを使用する場合は、[SharePoint ライブラリからスクリプトを実行 する] アクションを使用する必要があります。
Microsoft 365 アカウントにサインインするように求められる場合があります。 これを行って、チュートリアルを続行します。
次に、フロー ステップで使用するブックおよびスクリプトを選択します。 このチュートリアルでは、OneDrive に作成したブックを使用しますが、OneDrive サイトまたは SharePoint サイトでは任意のブックを使用できます。 [スクリプトの実行] アクションに次のパラメーターを指定します。
- 場所: OneDrive for Business
- ドキュメント ライブラリ: OneDrive
- ファイル: MyWorkbook.xlsx (ファイル ブラウザーを使用して選択されています)
- スクリプト: 日時を設定
[保存] を選択します。
これで、フローは Power Automate で実行できるようになりました。 フロー エディターの [テスト] ボタンを使用してテストするか、チュートリアルの残りの手順に従って、フロー コレクションからフローを実行できます。
Power Automate でスクリプトを実行する
Power Automate のメイン ページで、[自分のフロー] を選択します。
[自分のフロー] タブに表示されているフローの一覧から、[自分のチュートリアル フロー] を選択すると、以前に作成したフローの詳細が表示されます。
[実行] を選択します。
フローを実行するための作業ウィンドウが表示されます。 Excel Online へのサインインを要求された場合は、[続行] を選択します。
[フローの実行] を選択します。 これにより、関連する Office スクリプトを実行するフローが実行されます。
[完了] を選択します。 それに応じて実行履歴の更新が表示されます。
ページを更新して、Power Automate の結果を表示します。 エラーが発生した場合は、フローの設定を確認し、もう一度実行します。
ブックを開いて、更新されたセルを表示します。 セル A1 に現在の日付が表示され、セル B1 に現在の時刻が表示されます。 Power Automate では協定世界時 (UTC) が使用されるため、時刻は現在のタイム ゾーンからオフセットされる可能性があります。
次の手順
チュートリアルの完了: ブック内の電子メールからコンテンツを自動的に保存します。 このコースでは、ワークフロー サービスから Office スクリプトにデータを渡す方法と、特定のイベントが発生したときに Power Automate フローを実行する方法について説明します。
Office Scripts