In diesem Artikel erfahren Sie, wie Sie mit eine Skript in Excel Ihre Kollegen dazu auffordern den Projektstatus zu aktualisieren.
Hierzu lernen Sie folgende Schritte:
- In Excel ein Skript hinzufügen
- Eine Erinnerungen über Power Automate auslösen und Kollegen dazu auffordert, Projektstatus in einer Tabelle zu aktualisieren
Somit können Sie Ihr Projektmanagement optimieren und die Zusammenarbeit im Team verbessern
Office Skript Übungsaufgabe in Excel: Automatisierte Aufgaben Erinnerungen
In diesem Beispiel sind Sie verantwortlich für ein Projekt mit mehreren Mitarbeitern. Mithilfe eines Excel-Arbeitsblatts verfolgen Sie jeden Monat den Status Ihrer Mitarbeiter. Sie müssen die Leute oft daran erinnern, ihren Status anzugeben, deshalb haben Sie sich entschieden, diesen Erinnerungsprozess zu automatisieren.
Beschreibung:
In diesem Beispiel wird ein Office-Skript in einem Power Automate-Flow verwendet, um Erinnerungen an Kollegen zu senden, um den Status eines Projekts zu aktualisieren.
Voraussetzungen:
In diesem Beispiel werden Power Automate und Microsoft Teams verwendet. Sie müssen beide mit dem Konto verknüpfen, das Sie zum Entwickeln von Office-Skripten verwenden.
Sie erstellen einen Power Automate-Flow, um Personen mit fehlenden Statusfeldern eine Nachricht zu senden. Dazu entwickeln Sie ein Skript, das die Arbeit übernimmt. Das erste Skript ruft eine Liste von Personen mit leerem Status ab und das zweite Skript fügt der rechten Zeile eine Status hinzu.
Anleitung zum Aufbau:
1. Vorlage
Laden Sie die Vorlage herunter
2. Erstellen eines neuen Skripts
Öffnen Sie die heruntergeladene Arbeitsmappenvorlage
3. Office-Skripteditor
Benötigen wir ein Skript, um alle Mitarbeiter mit Statusberichten abzurufen, die in der Tabelle fehlen. Wählen Sie auf der Registerkarte „Automatisieren“ die Option „Neues Skript“ und fügen Sie das folgende Skript in den Editor ein.
/** * This script looks for missing status reports in a project management table. * * @returns An array of Employee objects (containing their names and emails). */ function main(workbook: ExcelScript.Workbook): Employee[] { // Get the first worksheet and the first table on that worksheet. let sheet = workbook.getFirstWorksheet() let table = sheet.getTables()[0]; // Give the column indices names matching their expected content. const NAME_INDEX = 0; const EMAIL_INDEX = 1; const STATUS_REPORT_INDEX = 2; // Get the data for the whole table. let bodyRangeValues = table.getRangeBetweenHeaderAndTotal().getValues(); // Create the array of Employee objects to return. let people: Employee[] = []; // Loop through the table and check each row for completion. for (let i = 0; i < bodyRangeValues.length; i++) { let row = bodyRangeValues[i]; if (row[STATUS_REPORT_INDEX] === "") { // Save the email to return. people.push({ name: row[NAME_INDEX].toString(), email: row[EMAIL_INDEX].toString() }); } } // Log the array to verify we're getting the right rows. console.log(people); // Return the array of Employees. return people; } /** * An interface representing an employee. * An array of Employees will be returned from the script * for the Power Automate flow. */ interface Employee { name: string; email: string; }
4. Speichern des Skripts
Speichern Sie das Skript unter dem Namen ‚Get People‘.
5. Zweites Skript
Als nächstes benötigen wir ein zweites Skript, um die Statusberichtskarten zu verarbeiten und die neuen Informationen in die Tabelle einzufügen. Wählen Sie im Aufgabenbereich des Code-Editors die Option „Neues Skript“ aus und fügen Sie das folgende Skript in den Editor ein.
/** * This script applies the results of a Teams Adaptive Card about * a status update to a project management table. * * @param senderEmail - The email address of the employee updating their status. * @param statusReportResponse - The employee's status report. */ function main(workbook: ExcelScript.Workbook, senderEmail: string, statusReportResponse: string) { // Get the first worksheet and the first table in that worksheet. let sheet = workbook.getFirstWorksheet(); let table = sheet.getTables()[0]; // Give the column indices names matching their expected content. const NAME_INDEX = 0; const EMAIL_INDEX = 1; const STATUS_REPORT_INDEX = 2; // Get the range and data for the whole table. let bodyRange = table.getRangeBetweenHeaderAndTotal(); let tableRowCount = bodyRange.getRowCount(); let bodyRangeValues = bodyRange.getValues(); // Create a flag to denote success. let statusAdded = false; // Loop through the table and check each row for a matching email address. for (let i = 0; i < tableRowCount && !statusAdded; i++) { let row = bodyRangeValues[i]; // Check if the row's email address matches. if (row[EMAIL_INDEX] === senderEmail) { // Add the Teams Adaptive Card response to the table. bodyRange.getCell(i, STATUS_REPORT_INDEX).setValues([ [statusReportResponse] ]); statusAdded = true; } } // If successful, log the status update. if (statusAdded) { console.log( `Successfully added status report for ${senderEmail} containing: ${statusReportResponse}` ); } }
6. Speichern des Skripts
Speichern Sie das Skript unter dem Namen ‚Save Status‘.
7. Erstellen des Flows in Power Automate
Um einen Flow in Power Automate zu erstellen, führen Sie die folgenden Schritte aus:
1. Gehen Sie in Ihrem Webbrowser auf den Link https://make.powerautomate.com/.
2. Melden Sie sich bei Ihrem Microsoft-Konto an, falls Sie dies noch nicht getan haben.
3. Sobald Sie angemeldet sind, werden Sie zur Power Automate-Startseite weitergeleitet, wo Sie einen neuen Flow erstellen können, indem Sie auf der linken Seite des Bildschirms auf „Erstellen“ klicken. Sie können wählen, ob Sie einen neuen Flow aus einem leeren Element, einer Vorlage oder einem Connector erstellen möchten. Für diese Übung wählen Sie bitte „Instant Cloud Flow“.
8. Erstellen
Wählen Sie „Manuell einen Flow auslösen“ aus den Optionen und wählen Sie „Erstellen“.
9. Flow-Anruf
Der Flow muss das Skript „Personen abrufen“ aufrufen, um alle Mitarbeiter mit leeren Statusfeldern abzurufen.
Wählen Sie Neuer Schritt und dann Excel Online (Business) aus. Wählen Sie unter Aktionen die Option Skript ausführen aus. Geben Sie die folgenden Einträge für den Flow-Schritt an: Speicherort: OneDrive for Business Dokumentbibliothek: OneDrive Datei: task-reminders.xlsx (Auswahl über den Dateibrowser) Skript: Get People
10. Prozess
Als nächstes muss der Flow jeden Mitarbeiter in dem vom Skript zurückgegebenen Array verarbeiten. Wählen Sie „Neuer Schritt“ aus, suchen Sie nach „Adaptive Karte posten, warten Sie auf eine Antwort“ und wählen Sie die Aktion „Microsoft Teams-Connector“ aus.
11. Adaptive Karte
Für das Senden einer adaptiven Karte muss der JSON-Code der Karte als Nachricht angegeben werden. Mit dem Adaptive Card Designer können Sie benutzerdefinierte Karten erstellen. Verwenden Sie für dieses Beispiel den folgenden JSON.
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0", "body": [ { "type": "TextBlock", "size": "Medium", "weight": "Bolder", "text": "Update your Status Report" }, { "type": "Image", "altText": "", "url": "https://i.imgur.com/f5RcuF3.png" }, { "type": "TextBlock", "text": "This is a reminder to update your status report for this month's review. You can do so right here in this card, or by adding it directly to the spreadsheet.", "wrap": true }, { "type": "Input.Text", "placeholder": "My status report for this month is...", "id": "response", "isMultiline": true } ], "actions": [ { "type": "Action.Submit", "title": "Submit", "id": "submit" } ] }
12. Empfängerfeld
Fügen Sie für das Feld „Empfänger“ eine E-Mail aus dem dynamischen Inhalt hinzu (die Auswahl wird durch das Excel-Logo gekennzeichnet). Durch das Hinzufügen einer E-Mail wird der Flow-Schritt von einem „Auf jeden Block anwenden“ umgeben. Das bedeutet, dass das Array von Power Automate iteriert wird.
13. Füllen Sie die restlichen Felder aus
Füllen Sie die restlichen Felder wie folgt aus: Beitrag als: Flow Bot Beitrag in: Chat mit Flow Bot Aktualisierungsnachricht: Vielen Dank für die Übermittlung Ihres Statusberichts.
Ihre Antwort wurde erfolgreich zur Tabelle hinzugefügt.
14. Aktion hinzufügen
Wählen Sie im Block „Auf jeden anwenden“ der Karte „Adaptiv posten und auf eine Antwort warten“ die Option „Aktion hinzufügen“ aus. Wählen Sie Excel Online (Business). Wählen Sie unter Aktionen die Option Skript ausführen aus. Geben Sie die folgenden Einträge für den Flow-Schritt an:
Speicherort: OneDrive for Business
Dokumentbibliothek: OneDrive
Datei: task-reminders.xlsx (Auswahl über den Dateibrowser)
Skript: Status speichern senderEmail: E-Mail (dynamischer Inhalt aus Excel)
statusReportResponse: Antwort (dynamischer Inhalt von Teams)
15. Speichern Sie den Prozess
Prozess:
Jedes Unternehmen, das auf Projektmanagement und Zusammenarbeit angewiesen ist, kann von automatisierten Aufgabenerinnerungen profitieren. Dazu gehören Softwareentwicklungsteams, Marketingteams, Projektmanager und mehr. Durch das Versenden rechtzeitiger Erinnerungen zur Aktualisierung des Projektstatus tragen Sie dazu bei, dass Projekte auf Kurs bleiben, Fristen eingehalten werden und Teams aufeinander abgestimmt bleiben.
Benötigen Sie einen VBA Programmierer?
Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.