Empfohlener Beitrag

Microsoft Word 2013: 5 aufregende neuigkeiten

N ach einer Reihe von Einblicken, Microsoft letzten Monat endlich Windows 8 und die hausgebrauten Oberfläche Tablette, die von Windows Ph...

Donnerstag, 7. Februar 2013

Design-Modus in Word 2007 und Word 2010: Wie man es erkennen und schalten Sie ihn ein-und ausschalten

Word 2007 und Word 2010 haben eine "Design-Modus"-Taste auf der Registerkarte Entwickler. Es wird verwendet, um Inhalte Steuerelemente zu bearbeiten.
Als Entwickler kann ich will
  • wissen, ob das Dokument im Design-Modus ist
  • schalten Design-Modus ein-oder ausschalten (zum Beispiel, würde ich wollen, dass Design-Modus ausgeschaltet ist, bevor Sie einen Code, der alle Inhalte Kontrollen ändert).
In dem Maße, dass ich bewusst bin, ist hier, wie.

Ist das Dokument im Design-Modus?

Die FormsDesign Eigenschaft eines Dokuments wird Ihnen sagen, ob das Dokument im Design-Modus ist. Zum Beispiel:
  Wenn ActiveDocument.FormsDesign Dann
     MsgBox "Dieses Dokument ist im Design-Modus"
 End If 
Aber diese Eigenschaft nicht von VBA arbeiten in Word. Es funktioniert nur, wenn Sie das Automatisieren von Word sind von außen Word, zum Beispiel läuft ein VSTO-Lösung oder ein COM-Add-in in VB6, oder läuft VBA aus Excel.
Wenn Word 2007 veröffentlicht wurde, gab es einen Workaround für VBA mit dem alten, hidden, veraltete Control Toolbox Befehlsleiste. Steuer-ID 1605 ist das erste Steuerelement auf der alten "Control Toolbox" Befehlsleiste. Die folgende Funktion zurückgegeben den Zustand des aktiven Dokuments:
  Funktion IsDocInDesignMode () As Boolean

 Dim cbc Als CommandBarControl

     Set cbc = Application.CommandBars.FindControl (ID: = 1605)
     IsDocInDesignMode = cbc.State

 End Function
Jedoch, dass Workaround funktioniert nicht mehr in einer vollständig aktualisierten Installation von Word 2007. Und es ist nicht in Word 2010 arbeiten. Nicht nur, dass es nicht funktioniert, nur das Lesen der .State wird Eigenschaft der Schaltfläche Ausschalten Design-Modus!
Also so weit ich sehen kann, gibt es keinen Weg, um aus Word VBA wissen, ob ein Dokument im Design-Modus ist.

Drehen Design-Modus ein-oder ausschalten

Es gibt keinen Befehl in das Word-Objektmodell zum Design-Modus ein-oder auszuschalten. Wir können den Modus mit ActiveDocument.ToggleFormsDesign umzuschalten. So von außen Word, könnten wir auszuschalten Design-Modus mit so etwas wie die folgenden:
  Wenn ActiveDocument.FormsDesign Dann
     "Schalten Sie Design-Modus
     ActiveDocument.ToggleFormsDesign
 End If 
Aber wenn Sie das Ausführen von Code in Word VBA sind, können Sie schalten Sie den Entwurfsmodus Staat, aber Sie haben keine Ahnung, ob es Design-Modus ein-oder auszuschalten.

Keine Kommentare:

Kommentar veröffentlichen