Share via


Problembehandlung bei Office-Skripts, die in Power Automate ausgeführt werden

Power Automate führt Skripts in Ihrem Namen in unabhängigen Excel-Sitzungen aus. Dies führt zu einigen Verhaltensänderungen, die zu Problemen mit bestimmten Skripts oder Szenarien führen können. Es gibt auch Einschränkungen und Verhaltensweisen von Power Automate-Plattformskripts, die Autoren kennen sollten. Lesen Sie unbedingt die Artikel Problembehandlung für Office-Skripts und Plattformgrenzwerte und -anforderungen mit Office-Skripts, da viele dieser Informationen auch für Skripts in Flows gelten.

Tipp

Wenn Sie gerade erst mit der Verwendung von Office-Skripts mit Power Automate beginnen, beginnen Sie mit Ausführen von Office-Skripts mit Power Automate , um mehr über die Plattformen zu erfahren.

Wichtig

Um Office-Skripts in Power Automate verwenden zu können, benötigen Sie eine Geschäftslizenz von Microsoft 365. Die Office 365 Enterprise E1- und Office 365 F3-Lizenzen können Skripts mit Power Automate verwenden, verfügen jedoch nicht über Power Automate-Integrationen direkt in Excel.

Vermeiden von relativen Verweisen

Power Automate führt Ihr Skript in der ausgewählten Excel-Arbeitsmappe in Ihrem Namen aus. Die Arbeitsmappe wird möglicherweise geschlossen, wenn dies geschieht. Jede API, die auf dem aktuellen Status des Benutzers basiert, z Workbook.getActiveWorksheet. B. , verhält sich in Power Automate möglicherweise anders. Dies liegt daran, dass die APIs auf einer relativen Position der Ansicht oder des Cursors des Benutzers basieren und dieser Verweis in einem Power Automate-Flow nicht vorhanden ist.

Einige relative Verweis-APIs lösen Fehler in Power Automate aus. Andere weisen ein Standardverhalten auf, das den Zustand eines Benutzers impliziert. Achten Sie beim Entwerfen Ihrer Skripts darauf, absolute Verweise für Arbeitsblätter und Bereiche zu verwenden. Dadurch ist Ihr Power Automate-Flow konsistent, auch wenn Arbeitsblätter neu angeordnet werden.

Skriptmethoden, die in Power Automate-Flows fehlschlagen

Die folgenden Methoden lösen einen Fehler aus und schlagen fehl, wenn sie über ein Skript in einem Power Automate-Flow aufgerufen werden.

Klasse Methode
Chart activate
Range select
Workbook getActiveCell
Workbook getActiveChart
Workbook getActiveSlicer
Workbook getSelectedRange
Workbook getSelectedRanges

Skriptmethoden mit einem Standardverhalten in Power Automate-Flows

Die folgenden Methoden verwenden ein Standardverhalten anstelle des aktuellen Zustands eines Benutzers.

Klasse Methode Power Automate-Verhalten
Workbook getActiveWorksheet Gibt entweder das erste Arbeitsblatt in der Arbeitsmappe oder das Arbeitsblatt zurück, das derzeit von der Worksheet.activate -Methode aktiviert wird.
Arbeitsblatt activate Markiert das Arbeitsblatt als aktives Arbeitsblatt für Zwecke von Workbook.getActiveWorksheet.

Aktualisierungen werden in Power Automate nicht vollständig unterstützt

Office-Skripts können die meisten Daten nicht aktualisieren, wenn sie in Power Automate ausgeführt werden. Die meisten Aktualisierungsmethoden, z PivotTable.refresh. B. , führen keine Aktionen aus, wenn sie in einem Flow aufgerufen werden. Workbook.refreshAllDataConnections wird nur aktualisiert, wenn PowerBI die Quelle ist. Darüber hinaus löst Power Automate keine Datenaktualisierung für Formeln aus, die Arbeitsmappenverknüpfungen verwenden.

Skriptmethoden, die in Power Automate-Flows keine Aktionen ausführen

Die folgenden Methoden führen keine Aktionen in einem Skript aus, wenn sie über Power Automate aufgerufen werden. Sie kehren weiterhin erfolgreich zurück und lösen keine Fehler aus.

Klasse Methode
PivotTable refresh
Workbook refreshAllPivotTables
Arbeitsblatt refreshAllPivotTables

Skriptmethoden mit einem anderen Verhalten in Power Automate

Die folgenden Methoden verhalten sich in Power Automate-Flows anders als bei der Ausführung über Excel.

Klasse Methode Power Automate-Verhalten
Workbook refreshAllDataConnections Aktualisiert nur PowerBI-Quellen. Bei anderen Quellen gibt die Methode erfolgreich zurück, führt aber keine Aktion aus.

Auswählen von Arbeitsmappen mit dem Dateibrowsersteuerelement

Beim Erstellen des Schritts Skript ausführen eines Power Automate-Flows müssen Sie auswählen, welche Arbeitsmappe Teil des Flows ist. Verwenden Sie den Dateibrowser, um Ihre Arbeitsmappe auszuwählen, anstatt den Namen der Arbeitsmappe manuell einzugeben.

Die Power Automate-Aktion Skript ausführen mit der Option Auswahldateibrowser anzeigen.

Weitere Informationen zur Power Automate-Einschränkung und eine Erläuterung möglicher Problemumgehungen für die dynamische Auswahl von Arbeitsmappen finden Sie in diesem Thread in der Microsoft Power Automate-Community.

Übergeben sie ganze Arrays als Skriptparameter.

Power Automate ermöglicht es Benutzern, Arrays als Variable oder als einzelne Elemente im Array an Connectors zu übergeben. Standardmäßig werden einzelne Elemente übergeben, wodurch das Array im Flow erstellt wird. Für Skripts oder andere Connectors, die ganze Arrays als Argumente verwenden, müssen Sie die Schaltfläche Zur Eingabe des gesamten Arrays wechseln auswählen, um das Array als ein vollständiges Objekt zu übergeben. Diese Schaltfläche befindet sich in der oberen rechten Ecke jedes Arrayparametereingabefelds.

Die Schaltfläche zum Wechseln zur Eingabe eines gesamten Arrays in ein Steuerelementfeldeingabefeld.

Zeitzonenunterschiede

Excel-Dateien haben keinen inhärenten Speicherort oder Zeitzone. Jedes Mal, wenn ein Benutzer die Arbeitsmappe öffnet, verwendet seine Sitzung die lokale Zeitzone dieses Benutzers für Datumsberechnungen. Power Automate verwendet immer UTC.

Wenn Ihr Skript Datums- oder Uhrzeitangaben verwendet, kann es Verhaltensunterschiede geben, wenn das Skript lokal getestet wird und wenn es über Power Automate ausgeführt wird. Mit Power Automate können Sie Zeiten konvertieren, formatieren und anpassen. Anweisungen zur Verwendung dieser Funktionen in Power Automate und Übergeben von Daten an und von Skripts in Power Automate finden Sie unter Arbeiten mit Datums- und Uhrzeitangaben in Ihren Flows, um zu erfahren, wie Sie diese Zeitinformationen für das Skript bereitstellen.

Skriptparameterfelder oder zurückgegebene Ausgaben, die nicht in Power Automate angezeigt werden

Es gibt zwei Gründe dafür, dass die Parameter oder zurückgegebenen Daten eines Skripts im Power Automate-Flow-Generator nicht genau widergespiegelt werden.

Die Signatur eines Skripts wird beim Erstellen mit dem Excel Business (Online) -Connector gespeichert. Entfernen Sie den alten Connector, und erstellen Sie einen neuen Connector, um die neuesten Parameter und Rückgabewerte für die Aktion Skript ausführen abzurufen.

Siehe auch