Freigeben über


Aufzeichnen täglicher Änderungen in Excel und Melden dieser Änderungen mit einem Power Automate-Flow

Power Automate und Office-Skripts werden kombiniert, um sich wiederholende Aufgaben für Sie zu verarbeiten. In diesem Beispiel haben Sie die Aufgabe, jeden Tag einen einzelnen numerischen Lesevorgang in einer Arbeitsmappe aufzuzeichnen und die Änderung seit gestern zu melden. Sie erstellen einen Flow, um diesen Lesevorgang zu erhalten, protokollieren ihn in der Arbeitsmappe und melden die Änderung per E-Mail.

Setup: Excel-Beispieldatei

Diese Arbeitsmappe enthält die Daten, Objekte und Formatierungen, die vom Skript erwartet werden.

Beispielcode: Aufzeichnen und Melden täglicher Messwerte

Fügen Sie der Beispielarbeitsmappe das folgende Skript hinzu. Verwenden Sie in Excel Dasneue Skriptautomatisieren>, um den Code einzufügen und das Skript zu speichern. Speichern Sie es als Tageswert aufzeichnen , und probieren Sie das Beispiel selbst aus!

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();
}

Beispielablauf: Tägliche Änderungen melden

Führen Sie die folgenden Schritte aus, um einen Power Automate-Flow für das Beispiel zu erstellen.

  1. Erstellen Sie einen neuen geplanten Cloudflow.

  2. Planen Sie, dass der Flow alle 1 Tag wiederholt wird.

    Der Schritt zur Flowerstellung, der zeigt, wird jeden Tag wiederholt.

  3. Wählen Sie Erstellen aus.

  4. In einem echten Flow fügen Sie einen Schritt hinzu, der Ihre Daten abruft. Die Daten können aus einer anderen Arbeitsmappe, einer adaptiven teams-Karte oder einer anderen Quelle stammen. Um das Beispiel zu testen, erstellen Sie eine Testnummer. Fügen Sie eine Aktion hinzu, und wählen Sie die Aktion Variable initialisieren aus. Weisen Sie ihm die folgenden Werte zu.

    1. Name: Eingabe
    2. Typ: Integer
    3. Wert: 190000

    Die Aktion Variable mit den angegebenen Werten initialisieren.

  5. Fügen Sie eine Aktion hinzu, und wählen Sie die Aktion Skript ausführen des Excel Online (Business)-Connectors aus. Verwenden Sie die folgenden Werte für die Aktion.

    1. Location: OneDrive for Business
    2. Document Library: OneDrive
    3. Datei: daily-readings.xlsx (über den Dateibrowser ausgewählt)
    4. Skript: Täglichen Wert aufzeichnen
    5. newData: Eingabe (dynamischer Inhalt)

    Die Aktion Skript ausführen mit den angegebenen Werten.

  6. Das Skript gibt die tägliche Lesedifferenz als dynamischen Inhalt mit dem Namen "result" zurück. Für das Beispiel können Sie die Informationen per E-Mail an sich selbst senden. Fügen Sie eine Aktion hinzu, und wählen Sie die Aktion E-Mail senden (V2) des Outlook-Connectors (oder einen beliebigen E-Mail-Client) aus. Verwenden Sie die folgenden Werte, um die Aktion abzuschließen.

    1. An: Ihre E-Mail-Adresse
    2. Betrifft: Tägliche Leseänderung
    3. Text: "Unterschied von gestern:" Ergebnis (dynamischer Inhalt aus Excel)

    Der fertige Outlook-Connector in Power Automate.

  7. Speichern Sie den Flow, und probieren Sie ihn aus. Verwenden Sie die Schaltfläche Test auf der Flow-Editor-Seite. Achten Sie darauf, den Zugriff zuzulassen, wenn Sie dazu aufgefordert werden.