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.
Erstellen Sie einen neuen geplanten Cloudflow.
Planen Sie, dass der Flow alle 1 Tag wiederholt wird.
Wählen Sie Erstellen aus.
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.
- Name: Eingabe
- Typ: Integer
- Wert: 190000
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.
- Location: OneDrive for Business
- Document Library: OneDrive
- Datei: daily-readings.xlsx (über den Dateibrowser ausgewählt)
- Skript: Täglichen Wert aufzeichnen
- newData: Eingabe (dynamischer Inhalt)
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.
- An: Ihre E-Mail-Adresse
- Betrifft: Tägliche Leseänderung
- Text: "Unterschied von gestern:" Ergebnis (dynamischer Inhalt aus Excel)
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.
Office Scripts