Diese Frage wurde aufgrund langwieriger Kommentare und Aktualisierungen von vorgeschlagenen Antworten bearbeitet.
Wie hier gefordert, ist Modul 13;
%Vor%Es gibt auch Probleme mit der Fehlerbehandlung, ich weiß, dass ich falsch damit verfahren bin, aber ich bin mehr daran interessiert, die Close-Funktion im Moment zu beheben, bevor ich darauf eingehe. Hier ist der Fehlerbehandlungscode, der etwas Arbeit benötigt
%Vor%Dies ist Ihr Testcode plus meine Änderung des Dateipfads und -namens
Nach der Veröffentlichung der Diskussion aktualisierte Antwort:
%Vor%Fehlerbehandlung:
Sie könnten so etwas versuchen, um einen spezifischen Fehler zu finden:
%Vor%Ich werde versuchen, verschiedene Dinge zu beantworten, aber mein Beitrag deckt möglicherweise nicht alle Ihre Fragen ab. Vielleicht können mehrere von uns verschiedene Stücke daraus herausnehmen. Diese Information sollte jedoch hilfreich für Sie sein. Hier gehen wir ..
Eine separate Datei öffnen:
%Vor%Öffnen einer Datei mit dem angegebenen Datum, falls vorhanden:
Ich bin mir nicht sicher, wie ich das Verzeichnis durchsuchen soll, um zu sehen, ob eine Datei existiert, aber in meinem Fall würde ich nicht danach suchen, sondern einfach versuchen, es zu öffnen und eine Fehlerüberprüfung vorzunehmen Wenn es nicht existiert, dann zeige diese Nachricht an oder tue xyz.
Einige allgemeine Fehlerprüfungsanweisungen:
%Vor%Oder (bessere Option):
Wenn Sie nicht vorhanden sind, rufen Sie entweder ein Meldungsfeld oder einen Dialog auf Um zu sagen, dass die Datei nicht existiert, möchten Sie eine neue erstellen eins?
Sie würden wahrscheinlich das GoTo ErrorHandler
unten verwenden, um dies zu erreichen
Viel mehr Infos zur Fehlerbehandlung hier: Ссылка
Auch wenn du mehr lernen möchtest oder allgemeiner in VBA erfahren möchtest, würde ich Siddharth Routs Website empfehlen, er hat viele Tutorials und Beispielcode hier: Ссылка
Hoffe, das hilft!
Beispiel zur Sicherstellung, dass der Fehlercode nicht JEDERZEIT ausgeführt wird:
Wenn Sie durch den Code ohne die Exit Sub
vor dem Fehlerhandler debuggen, werden Sie bald erkennen, dass der Fehlerhandler jedes Mal ausgeführt wird, wenn ein Fehler auftritt oder nicht. Der Link unter dem Codebeispiel zeigt eine vorherige Antwort auf diese Frage.
Sieh dir auch diese andere Frage an, in der du mehr darüber wissen musst, wie das funktioniert: gehen Block nicht funktioniert VBA
Tags und Links vba excel automation excel-vba userform
Was ist der Unterschied zwischen den folgenden Aussagen?
%Vor%Ich arbeite an der Verbreitung einer binären Bombe und habe schon früh Probleme mit einigen der Befehle %code% und %code% in der Assembly.
Dies kopiert den Wert in% eax in% esp.
%Vor%Dies kopiert den Wert von% eax an den Ort im Speicher, auf den% esp zeigt.
%Vor%