ich möcht per VBA den Entwurfsmodus für ein Worksheet ein/ausstellen.
Wie funktioniert das?
--
Danke Guido
Das Einschalten lässt sich mit einem Trick lösen, indem ein Klick
auf die Entwurfsmodus-Schaltfläche simuliert wird:
Application.CommandBars.FindControl(Id:=1605).Execute
Für das Ausschalten ist mir keine Lösung bekannt. Ich bin sogar
der Meinung, dass es aus technischen Gründen gar keine Lösung
mittels VBA geben kann. Und zwar, weil generell während der
Ausführung von VBA-Code nie der Entwurfsmodus aktiv ist, dieser
somit auch nicht ausgeschaltet werden kann.
Ein ähnliches Verhalten tritt im VBA-Editor auf. Hier ein Ausschnitt
eines von mir veröffentlichten Artikels zu diesem Thema:
*****
Problem
Abfrage nach aktiviertem Entwurfsmodus eines Projektes funktioniert nicht
(VBE10)
Summary
Das VBProjekt-Objekt besitzt eine Eigenschaft "Mode", mit der der
Zustand/Modus eines Projektes abgefragt werden kann. Die Eigenschaft ist
read only. Die Abfrage, ob der Entwurfsmodus eines Projektes aktiviert ist,
funktioniert allerdings nicht, d.h. die Abfrage, z.B. durch
"?Application.VBE.ActiveVBProject.Mode = vbext_vm_Design" liefert immer das
Ergebnis "Falsch", auch wenn sich das Projekt gerade im Entwurfsmodus
befindet (Hinweis: Verweis auf Objektbibliothek "Microsoft Visual Basic for
Applications Extensibility" muss gesetzt sein). Die Abfrage kann nicht
funktionieren, da die Ausführung der Abfrage, d.h. das Drücken der
Eingabe-Taste im Direktfenster die VBE bzw. das Projekt vorübergehend in den
Laufzeitmodus (vbext_vm_Run) setzt. Im Zeitpunkt der Abfrage befindet sich
somit ein Projekt nie im Entwurfsmodus.
*****
PS: Falls Du doch eine Lösung findest, bitte mitteilen! Besten Dank.
Gruss
Philipp
Guido Schimmrigk schrieb in Nachricht ...