In Excel VBA, ist es eine gute Übung, Debug.Print
Anweisungen im Code zu lassen, der in "Produktion" geht? Das ist sehr nützlich, um die Blätter in Echtzeit auf dem Computer des Benutzers zu debuggen, wenn etwas schief geht. Beeinflusst es die Leistung, wenn Visual Studio geschlossen wird? Wenn nicht, was würden Sie empfehlen?
Debug.Print-Anweisung hat geringe Performance-Kosten. Also würde ich sie in Schleifen vermeiden, die millionenfach ausgeführt werden. Abgesehen von diesen Fällen halte ich es für angebracht, sie zu behalten.
Sie können auch bedingte Kompilierungsdirektiven ( #if
) in Kombination mit einer Compiler-Konstante ( #const
) verwenden, um sie global ohne Auswirkungen auf die Leistung zu aktivieren / deaktivieren.
Ich habe normalerweise zwei Versionen; prod ohne Debugging und prod mit Debugging. Zusammen mit der Catchall-Error-Handler-Protokollierung bedeutet dies, dass ich, wenn ein Benutzer Probleme hat, die Debug-Version für sie bereitstellen kann und sie das ausführen können.
Ich habe ein Makro, das ich ausführe, das die debug.print-Anweisungen auskommentiert, so ist es kein echter Wartungsaufwand.
Das Problem mit der ständigen Ausführung einer Debug-Version (und mit Excel VBA ist es normalerweise keine Performance-Sache) ist, dass Ihre App ständig Informationen ausgibt, die sie auch nicht benötigt. In einer Umgebung mit kontrollierten Tabellenkalkulationen kann dies zum Beispiel als eine schlechte Sache angesehen werden.
Für die globale Fehlerbehandlung benötigen Sie immer noch die On Error GoTo-Anweisung für jede Funktion, in der Sie Fehler behandeln möchten. Sie können diese jedoch an eine gemeinsame Funktion übergeben:
%Vor%Und dann OnError:
%Vor%Zeigen Sie den Trick
Tags und Links excel-vba