Problembehandlung bei Office-Skripts

Beim Entwickeln von Office-Skripts können Fehler auftreten. Das ist okay. Sie verfügen über die Tools, um die Probleme zu finden und Ihre Skripts perfekt zu funktionieren.

Hinweis

Informationen zur Problembehandlung speziell für Office-Skripts mit Power Automate finden Sie unter Problembehandlung bei Office-Skripts, die in Power Automate ausgeführt werden.

Plattformgrenzwerte und -anforderungen

Eine ausführliche Liste der Einschränkungen auf der Office-Skriptplattform aufgrund von Excel, Power Automate oder anderen Technologien finden Sie unter Plattformgrenzwerte und -anforderungen mit Office-Skripts.

Skriptfehler

Office-Skriptfehler fallen in eine von zwei Kategorien:

  • Fehler oder Warnungen zur Kompilierzeit
  • Laufzeitfehler

Kompilierzeitfehler

Fehler und Warnungen zur Kompilierzeit werden zunächst im Code-Editor angezeigt. Diese werden durch die wellenförmigen roten Unterstreichungen im Editor angezeigt. Sie werden auch auf der Registerkarte Probleme am unteren Rand des Aufgabenbereichs Code-Editor angezeigt. Wenn Sie den Fehler auswählen, werden weitere Details zum Problem angezeigt und Lösungen vorgeschlagen. Kompilierzeitfehler sollten vor dem Ausführen des Skripts behoben werden.

Ein Compilerfehler, der im Daraufzeigertext des Code-Editors angezeigt wird.

Möglicherweise werden auch orangefarbene Warn unterstrichen und graue Informationsmeldungen angezeigt. Diese zeigen Leistungsvorschläge oder andere Möglichkeiten an, bei denen das Skript unbeabsichtigte Auswirkungen haben kann. Solche Warnungen sollten genau geprüft werden, bevor sie verworfen werden.

Laufzeitfehler

Laufzeitfehler treten aufgrund von Logikproblemen im Skript auf. Dies kann darauf zurückzuführen sein, dass sich ein im Skript verwendetes Objekt nicht in der Arbeitsmappe befindet, eine Tabelle anders als erwartet formatiert ist oder dass eine andere geringfügige Diskrepanz zwischen den Anforderungen des Skripts und der aktuellen Arbeitsmappe besteht. Das folgende Skript generiert einen Fehler, wenn ein Arbeitsblatt mit dem Namen "TestSheet" nicht vorhanden ist.

function main(workbook: ExcelScript.Workbook) {
  let mySheet = workbook.getWorksheet('TestSheet');

  // This will throw an error if there is no "TestSheet".
  mySheet.getRange("A1");
}

Einige Laufzeitfehler werden dadurch verursacht, dass die Grenzwerte der Plattform überschritten werden, z. B. der Versuch, zu viele Daten gleichzeitig mit Excel im Web zu schreiben. Eine vollständige Liste der potenziellen Fallstricke finden Sie unter Plattformgrenzwerte und -anforderungen mit Office-Skripts .

Konsolennachrichten

Sowohl Kompilierzeit- als auch Laufzeitfehler zeigen Fehlermeldungen in der Konsole an, wenn ein Skript ausgeführt wird. Sie geben eine Zeilennummer an, an der das Problem aufgetreten ist. Beachten Sie, dass die Grundursache eines Problems möglicherweise eine andere Codezeile ist als die in der Konsole angegebene.

Die folgende Abbildung zeigt die Konsolenausgabe für den expliziten any Compilerfehler. Notieren Sie sich den Text [5, 16] am Anfang der Fehlerzeichenfolge. Dies gibt an, dass der Fehler in Zeile 5 ab Zeichen 16 liegt. Die Code-Editor-Konsole zeigt eine explizite

Die folgende Abbildung zeigt die Konsolenausgabe für einen Laufzeitfehler. Hier versucht das Skript, ein Arbeitsblatt mit dem Namen eines vorhandenen Arbeitsblatts hinzuzufügen. Beachten Sie erneut die "Zeile 2" vor dem Fehler, um anzuzeigen, welche Zeile untersucht werden soll. Die Code-Editor-Konsole zeigt einen Fehler aus dem Aufruf

Konsolenprotokolle

Drucken Sie Nachrichten mit der -Anweisung auf dem console.log Bildschirm. In diesen Protokollen können Sie den aktuellen Wert von Variablen oder die ausgelösten Codepfade anzeigen. Rufen Sie console.log dazu mit einem beliebigen Objekt als Parameter auf. In der Regel ist ein string -Typ der am einfachsten in der Konsole zu lesen.

console.log("Logging myRange's address.");
console.log(myRange.getAddress());

An übergebene console.log Zeichenfolgen werden in der Protokollierungskonsole des Code-Editors unten im Aufgabenbereich angezeigt. Protokolle befinden sich auf der Registerkarte Ausgabe , obwohl die Registerkarte automatisch den Fokus erhält, wenn ein Protokoll geschrieben wird.

Protokolle wirken sich nicht auf die Arbeitsmappe aus.

Registerkarte "Automatisieren" wird nicht angezeigt oder Office-Skripts nicht verfügbar

Die folgenden Schritte sollten bei der Behandlung von Problemen im Zusammenhang mit der Registerkarte Automatisieren helfen, die nicht in Excel angezeigt wird.

  1. Stellen Sie sicher, dass Ihre Microsoft 365-Lizenz Office-Skripts enthält.
  2. Stellen Sie sicher, dass Cookies von Drittanbietern aktiviert sind (bei Verwendung von Excel im Web).
  3. Stellen Sie sicher, dass Ihr Administrator Office-Skripts nicht im Microsoft 365 Admin Center deaktiviert hat.
  4. Stellen Sie sicher, dass Ihr Administrator keine Gruppenrichtlinie konfiguriert hat, um Office-Skripts (nur Windows) zu blockieren.
  5. Installieren Sie WebView2 (nur Windows).
  6. Stellen Sie sicher, dass Sie nicht als externer Benutzer oder Gastbenutzer bei Ihrem Mandanten angemeldet sind.

Wichtig

Wenn Sie Excel mit Teams verwenden, werden Office-Skripts nur in Teams im Web unterstützt (nicht in Teams für Windows, Mac, iOS oder Android).

Hinweis

Es gibt ein bekanntes Problem, das verhindert, dass in SharePoint gespeicherte Skripts immer in der Liste zuletzt verwendet angezeigt werden. Dies tritt auf, wenn Ihr Administrator Exchange-Webdienste (EWS) deaktiviert. Auf Ihre SharePoint-basierten Skripts kann weiterhin über das Dateidialogfeld zugegriffen und verwendet werden.

Probleme beim Planen eines Skripts

Für die Planung eines Skripts ist eine Geschäftslizenz für Microsoft 365 erforderlich. Dies ist für den Power Automate-Flow erforderlich, der das geplante Skript unterstützt. Fehler aus diesem Flow werden angezeigt, wenn Probleme bei der Planung vorliegen. Möglicherweise müssen Sie Ihren Flow in Power Automate manuell aktualisieren, wo er unter Meine Flows aufgeführt wird.

In der folgenden Liste sind häufige Fehler aufgeführt, die möglicherweise auftreten.

  • Die UTC-Zeit des Zugriffstokenablaufs liegt vor der aktuellen UTC-Zeit. Zwischen der Anmeldung beim Dienst und der Planung des Skripts ist zu viel Zeit vergangen. Öffnen Sie das Skript im Code-Editor erneut, oder laden Sie die Arbeitsmappe neu, und versuchen Sie erneut, den Zeitplan zu planen.

Hilferessourcen

Stack Overflow ist eine Community von Entwicklern, die bereit sind, bei Programmierproblemen zu helfen. Häufig können Sie die Lösung für Ihr Problem durch eine schnelle Stack Overflow-Suche finden. Wenn nicht, stellen Sie Ihre Frage, und markieren Sie sie mit dem Tag "office-scripts". Achten Sie darauf, Erwähnung Sie ein Office-Skript und kein Office-Add-In erstellen.

Siehe auch