Excel VBA Arbeitsmappe öffnen, Aktionen ausführen, speichern unter, schließen

8

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

    
JamesDev 18.10.2012, 09:57
quelle

2 Antworten

8

Nach der Veröffentlichung der Diskussion aktualisierte Antwort:

%Vor%

Fehlerbehandlung:

Sie könnten so etwas versuchen, um einen spezifischen Fehler zu finden:

%Vor%     
Alistair Weir 18.10.2012, 13:25
quelle
2

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

%Vor%

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.

%Vor%

Sieh dir auch diese andere Frage an, in der du mehr darüber wissen musst, wie das funktioniert: gehen Block nicht funktioniert VBA

Mike Kellogg 18.10.2012 13:07
quelle
Django: Verwenden von Annotate, Count und Distinct in einem Queryset ___ tag123x86 ___ x86 ist eine Architektur, die von der Intel 8086 CPU abgeleitet ist. Die x86-Familie umfasst die 32-Bit-Architektur IA-32 und 64-Bit x86-64 sowie 16-Bit-Legacy-Architekturen. Fragen zu letzterem sollten mit [x86-16] und / oder [emu8086] getaggt werden. Verwenden Sie das Tag [x86-64], wenn Ihre Frage für 64-Bit x86-64 spezifisch ist. Verwenden Sie für die x86-FPU das Tag [x87]. Für SSE1 / 2/3/4 / AVX * verwenden Sie auch [sse] und alle zutreffenden [avx] / [avx2] / [avx512] ___ qstnhdr___mov% eax, (% esp) ___ qstntxt ___

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.

    
___ tag123addressingmode ___ Ein Adressierungsmodus spezifiziert, wie die effektive Speicheradresse eines Operanden berechnet wird, indem Informationen verwendet werden, die in Registern und / oder Konstanten gehalten werden, die in einem Maschinenbefehl oder anderswo enthalten sind. ___ tag123assembly ___ Assemblersprache (asm) Programmierfragen. Achten Sie darauf, auch mit dem Prozessor und / oder Befehlssatz, die Sie verwenden, sowie den Assembler TAG. WARNUNG: Verwenden Sie für .NET-Assemblies stattdessen das Tag [.net-assembly]. Verwenden Sie für Java ASM stattdessen das Tag [java-bytecode-asm]. ___ tag123att ___ AT & T Syntax ist eine Assembly-Syntax, die in UNIX-Umgebungen verwendet wird und von AT & T Bell Labs stammt. Es stammt von der MIPS-Assembly-Syntax ab. ___ answer12978084 ___

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%     
___ tag123mov ___ Fragen zum Assembler 'mov' Befehl ___