VBA Word: Dokument in Seitenlayoutansicht zeigen und alles einblenden

Z

Zirbel_ch

[Word 2004, Version 11.3 auf Mac OS 10.4.11]

Ich möchte in einer Brief-/Dokumentenvorlage für Word für Win und Word für Mac ein Makro unterbringen, das (unabhängig von den Grundeinstellungen des jeweiligen Anwenders) das Dokument in der Seitenlayoutansicht zeigt und ausserdem alle Zeichen einblendet.

Grund:
Nur in der Seitenlayoutansicht sieht die Anordnung der Formularfelder akzeptabel aus, in der Normalansicht ist sie eher verwirrend.
Den Formularfeldern sind ("ausgeblendete", also nicht zu druckende) Kommentare beigestellt, die die Inhalte der Formularfelder erläutern; im ausgeblendeten Zustand sind sie aber dann eben nicht sichtbar (und anscheinend wissen viele Anwender gar nicht, wie sie den Word-Befehl "¶einblenden/ausblenden" handhaben können).

Wenn ich die gewünschten Word-Befehle in einem Makro ("LayoutDarst") aufzeichne, ist das Resultat dieses Script:
--------------------------
Sub LayoutDarst()
ActiveWindow.WindowState = wdWindowStateMaximize
ActiveWindow.ActivePane.View.ShowAll = Not ActiveWindow.ActivePane.View. _
ShowAll
If ActiveWindow.View.SplitSpecial = wdPaneNone Then
ActiveWindow.ActivePane.View.Type = wdPageView
Else
ActiveWindow.View.Type = wdPageView
End If
End Sub
--------------------------

Als VBA-Greenhorn und habe ich nun aber keine Ahnung, ob es schon ausreicht, dass dieses Script als Makro-Modul im Dokument gespeichert ist, oder ob es dazu noch einer weiteren Verknüpfung bedarf.
Vielen Dank für weiterhelfende Tipps!
 
Per Trial & Error habe ich nun selbst herausgefunden, wie es geht:

In "ThisDocument" habe ich diese drei Makros gesetzt:

--------------------
Private Sub Document_Open()
ActiveWindow.WindowState = wdWindowStateMaximize
ActiveWindow.ActivePane.View.ShowAll = Not ActiveWindow.ActivePane.View. _
ShowAll
If ActiveWindow.View.SplitSpecial = wdPaneNone Then
ActiveWindow.ActivePane.View.Type = wdPageView
Else
ActiveWindow.View.Type = wdPageView
End If
End Sub

Private Sub Document_New()
ActiveWindow.WindowState = wdWindowStateMaximize
ActiveWindow.ActivePane.View.ShowAll = Not ActiveWindow.ActivePane.View. _
ShowAll
If ActiveWindow.View.SplitSpecial = wdPaneNone Then
ActiveWindow.ActivePane.View.Type = wdPageView
Else
ActiveWindow.View.Type = wdPageView
End If
End Sub

Private Sub ShowPrint()
End Sub
--------------------
 

Neue Beiträge

Zurück