Excel で日々の変更を記録し、Power Automate フローでレポートする

Power Automate と Office スクリプトを組み合わせて、反復的なタスクを処理します。 このサンプルでは、毎日 1 つの数値読み取り値をブックに記録し、昨日からの変更を報告する作業を行います。 フローを作成して、その読み取り値を取得し、ブックに記録し、メールで変更を報告します。

セットアップ: Excel ファイルのサンプル

このブックには、スクリプトで想定されるデータ、オブジェクト、書式設定が含まれています。

サンプル コード: 毎日の読み取り値を記録して報告する

サンプル ブックに次のスクリプトを追加します。 Excel で、[新しいスクリプトの自動化] を>使用してコードを貼り付け、スクリプトを保存します。 [ 毎日の値を記録する] として保存し、サンプルを自分で試してください。

function main(workbook: ExcelScript.Workbook, newData: string): string {
  // Get the table by its name.
  const table = workbook.getTable("ReadingTable");

  // Read the current last entry in the Reading column.
  const readingColumn = table.getColumnByName("Reading");
  const readingColumnValues = readingColumn.getRange().getValues();
  const previousValue = readingColumnValues[readingColumnValues.length - 1][0] as number;

  // Add a row with the date, new value, and a formula calculating the difference.
  const currentDate = new Date(Date.now()).toLocaleDateString();
  const newRow = [currentDate, newData, "=[@Reading]-OFFSET([@Reading],-1,0)"];
  table.addRow(-1, newRow);

  // Return the difference between the newData and the previous entry.
  const difference = Number.parseFloat(newData) - previousValue;
  console.log(difference);
  return difference.toString();
}

サンプル フロー: 日々の変更を報告する

サンプルの Power Automate フローを構築するには、次の手順に従います。

  1. 新しい スケジュールされたクラウド フローを作成します。

  2. フローを 1 日ごとに繰り返すスケジュールを設定します。

    毎日繰り返されることを示すフロー作成ステップ。

  3. [作成] を選択します。

  4. 実際のフローでは、データを取得するステップを追加します。 データは、別のブック、Teams アダプティブ カード、またはその他のソースから取得できます。 サンプルをテストするには、テスト番号を作成します。 アクションを追加し、[ 変数の初期化 ] アクションを選択します。 次の値を指定します。

    1. 名前: 入力
    2. : 整数
    3. : 190000

    指定された値を使用した変数の初期化アクション。

  5. アクションを追加し、 Excel Online (Business) コネクタの [スクリプトの実行] アクションを 選択します。 アクションには次の値を使用します。

    1. 場所: OneDrive for Business
    2. ドキュメント ライブラリ: OneDrive
    3. ファイル: daily-readings.xlsx (ファイル ブラウザーから選択)
    4. スクリプト: 日単位の値を記録する
    5. newData: 入力 (動的コンテンツ)

    指定された値を持つスクリプトの実行アクション。

  6. スクリプトは、毎日の読み取り差を "result" という名前の動的コンテンツとして返します。 このサンプルでは、自分に情報を電子メールで送信できます。 アクションを追加し、 Outlook コネクタの [メールの送信 (V2)] アクション ( または任意のメール クライアント) を選択します。 アクションを完了するには、次の値を使用します。

    1. 宛先: メール アドレス
    2. 件名: 毎日の読み取り変更
    3. 本文: "昨日との違い:" 結果 (Excel からの動的コンテンツ)

    Power Automate の完成した Outlook コネクタ。

  7. フローを保存して試してください。フロー エディター ページの [テスト ] ボタンを使用します。 プロンプトが表示されたら、必ずアクセスを許可してください。