HERBERS Excel-Forum - das Archiv
bei OPEN macros vermeiden
sachsenhessi

Hi Leute,
gibt es eine Möglichkeit in einem VBA-Makro bei WORKBOOKS.OPEN "xyz.xls" die Ausführung von Macros zu verhindern?
- Die VB-Sicherheitseinstellungen können nicht (?) genutzt werden, da bei "normaler" Ausführung der XLS-Datei die Macros laufen müssen.
- WORKBOOKS.OPEN mit ReadOnly-Flag fällt ebenfalls aus, da ich in die Datei schreiben muß.
Kennt jemand einen Trick, sinngemäß "nächste Datei ohne Macros öffnen" ?
Danke
Frank

AW: bei OPEN macros vermeiden
Rudi

Hallo,
Events aus
WB öffnen
Events wieder ein.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: bei OPEN macros vermeiden
Christian

Servus,
mir fallen 2 Arten ein die du versuchen könntest es kommt jedoch darauf an was sich verändert wird, sprich soll für eine bestimmt benutzergruppe das Makro laufen oder wenn sich die Datei verändert.
zu1. Benutzergruppe.
Du könntest beim starten des Workbookopen den Benutzernamen abfragen und wenn der richtig ist dann es starten oder du machst eine kleine Userform wo man ein Passwort eingibt und du es überprüfen lässt ob das Passwort richtig ist und dadurch nur das Marko erst starten lässt.
zu 2. Datei wird verändert.
zum Beispiel liegt die Datei als xlt vor und du überprüfst den Dateinamen.
Falls dir diese Vorschläge etwas bringen und du hilfe für die implementierung brauchst melde dich einfach nochmal.
Ich hoffe ich habe dein Problem verstanden.
Gruß
Christian

AW: bei OPEN macros vermeiden
Oberschlumpf

Hi Frank
Wie wärs mit dieser Idee (ungetestet):
In der eigentlichen Datei setzt du vor allen Makros in Workbooks.Open diesen Code:


For liIndex = 1 To Workbooks.Count
If Workbooks(liIndex).Name = "DeineNeueDatei" Then Exit sub
Next


Dann erstellst du nur für dich eine Hilfsdatei, z Bsp "DeineNeueDatei.xls", mit der du in Zukunft die eigentliche Dateistartest.
"Deine" Datei enthält einfach nur diesen Code in Workbooks.Open:


Workbooks.Open "Pfad\dieEigentliche.Datei.xls"


Fertig.
Wenn du nun mit Hilfer der Hilfsdatei die eigentliche Datei öffnest, um die es geht, dann wird zuerst in der For/Next-Schleife danach gesucht, ob auch deine Hilfsdatei geöffnet ist.
Wenn Ja, dann wird kein weiter Code ausgeführt.
Öffnest du die eigentliche Datei, OHNE, dass du zuvor die Hilfsdatei offen hast, wird der Name der Hilfsdatei NICHT in der Schleife gefunden, und der nach der Schleife folgende Code wird ausgeführt.
Somit wird der Code also auch immer ausgeführt, wenn jemand anderer die Datei öffnet, da ja nur du die Hilfsdatei hast.
Hilft das?
Ciao
Thorsten

AW: bei OPEN macros vermeiden
sachsenhessi

Danke,
Problem gelöst ;-)

application.EnableEvents
ist jetzt mein Freund.
Na ja, Wald, Bäüme und so....
Danke an alle
Frank