Anzeigen integrierter Word-Dialogfelder

Dieses Thema enthält Informationen und Beispiele in den folgenden Abschnitten.

Anzeigen eines integrierten Dialogfelds

Mit integrierten Dialogfeldern können Sie Benutzereingaben anfordern oder Word mithilfe von Visual Basic for Applications (VBA) steuern. Die Show-Methode des Dialog-Objekts zeigt alle Aktionen an, die in einem integrierten Word-Dialogfeld ausgeführt werden. Um auf ein bestimmtes integriertes Word-Dialogfeld zuzugreifen, geben Sie eine WdWordDialog-Konstante mit der Dialogs-Eigenschaft an. So zeigt z. B. die folgende Makroanweisung das Dialogfeld Öffnen an (wdDialogFileOpen).

Sub ShowOpenDialog() 
 Dialogs(wdDialogFileOpen).Show 
End Sub

Wenn Sie auf OK klicken, während eine Datei markiert ist, wird diese Datei geöffnet (Die Aktion wird ausgeführt). Das folgende Beispiel zeigt das Dialogfeld Drucken an (wdDialogFilePrint).

Sub ShowPrintDialog() 
 Dialogs(wdDialogFilePrint).Show 
End Sub

Legen Sie die DefaultTab-Eigenschaft für den Zugriff auf eine bestimmte Registerkarte in einem Word-Dialogfeld fest. Das folgende Beispiel zeigt die Registerkarte Seitenrand im Dialogfeld Rahmen und Schattierung an.

Sub ShowBorderDialog() 
 With Dialogs(wdDialogFormatBordersAndShading) 
 .DefaultTab = wdDialogFormatBordersAndShadingTabPageBorder 
 .Show 
 End With 
End Sub

Hinweis

Mit den VBA-Eigenschaften in Word können Sie die Benutzerinformationen auch ohne das Dialogfeld anzeigen. Im folgenden Beispiel wird die UserName-Eigenschaft für das Application-Objekt verwendet, um den Benutzernamen für die Anwendung anzuzeigen, ohne das Dialogfeld Benutzerinformationen anzuzeigen.

Sub DisplayUserInfo() 
 MsgBox Application.UserName 
End Sub

Wenn der Benutzername im vorherigen Beispiel geändert wird, wird die Änderung nicht im Dialogfeld festgelegt. Verwenden Sie die Execute-Methode , um die Einstellungen in einem Dialogfeld auszuführen, ohne das Dialogfeld anzuzeigen. Im folgenden Beispiel wird das Dialogfeld Benutzerinformationen angezeigt, und wenn der Name keine leere Zeichenfolge ist, werden die Einstellungen im Dialogfeld mithilfe der Execute-Methode festgelegt.

Sub ShowAndSetUserInfoDialogBox() 
 With Dialogs(wdDialogToolsOptionsUserInfo) 
 .Display 
 If .Name <> "" Then .Execute 
 End With 
End Sub

Hinweis

Mit den VBA-Eigenschaften und Methoden können Sie die Benutzerinformationen in Word festlegen, ohne das Dialogfeld anzuzeigen. Im folgenden Codebeispiel wird der Benutzername anhand der UserName-Eigenschaft des Application-Objekts geändert und anschließend das Dialogfeld Benutzerinformationen angezeigt, um zu zeigen, dass die Änderung durchgeführt wurde. Beachten Sie, dass ein Dialogfeld zur Änderung seines Wertes nicht angezeigt werden muss.

Sub SetUserName() 
 Application.UserName = "Jeff Smith" 
 Dialogs(wdDialogToolsOptionsUserInfo).Display 
End Sub

Zurückgeben und Ändern von Einstellungen für Dialogfelder

Es ist nicht sehr effizient, ein Dialog-Objekt zum Zurückgeben oder Ändern eines Werts für ein Dialogfeld zu verwenden, wenn Sie es mithilfe einer Eigenschaft oder Methode zurückgeben oder ändern können. Außerdem ist der anstelle des Zugriffs auf das Dialog -Objekt verwendete VBA-Code (fast) immer der kürzere und einfachere Weg. Deshalb werden in den folgenden Beispielen alternativ auch die entsprechenden VBA-Eigenschaften aufgeführt, mit denen dieselben Aufgaben ausgeführt werden können.

Bevor Sie eine Dialogfeldeinstellung mithilfe des Dialog-Objekts zurückgeben oder ändern, müssen Sie das einzelne Dialogfeld identifizieren. Dies wird mit der Dialogs -Eigenschaft und einer WdWordDialog -Konstante durchgeführt. Nachdem Sie ein Dialog -Objekt instanziiert haben, können Optionen im Dialogfeld zurückgegeben oder festgelegt werden. Das folgende Beispiel zeigt den rechten Einzug des Dialogfelds Absätze an.

Sub ShowRightIndent() 
 Dim dlgParagraph As Dialog 
 Set dlgParagraph = Dialogs(wdDialogFormatParagraph) 
 MsgBox "Right indent = " & dlgParagraph.RightIndent 
End Sub

Hinweis

Verwenden Sie die VBA-Eigenschaften und -Methoden von Word, um den rechten Einzug für den Absatz anzuzeigen. Im folgenden Beispiel wird die RightIndent-Eigenschaft des ParagraphFormat-Objekts verwendet, um den rechten Einzug für den Absatz an der Position der Einfügemarke anzuzeigen.

Sub ShowRightIndexForSelectedParagraph() 
 MsgBox Selection.ParagraphFormat.RightIndent 
End Sub

Einstellungen für Dialogfelder können nicht nur zurückgegeben, sondern auch festgelegt werden. Das folgende Beispiel aktiviert im Dialogfeld Absatz das Kontrollkästchen Absätze nicht trennen.

Sub SetKeepWithNext() 
 With Dialogs(wdDialogFormatParagraph) 
 .KeepWithNext = 1 
 .Execute 
 End With 
End Sub

Hinweis

Mit den VBA-Eigenschaften und -Methoden können Sie den rechten Absatzeinzug auch ändern. Im folgenden Beispiel wird die KeepWithNext-Eigenschaft des ParagraphFormat-Objekts verwendet, um den markierten Absatz mit dem folgenden Absatz beizubehalten.

Sub SetKeepWithNextForSelectedParagraph() 
 Selection.ParagraphFormat.KeepWithNext = True 
End Sub

Hinweis

Verwenden Sie die Update-Methode , um sicherzustellen, dass die Dialogfeldwerte die aktuellen Werte widerspiegeln. Gegebenenfalls können Sie die Update-Methode verwenden, wenn Sie in Ihrem Makro zu Anfang eine Dialogfeldvariable definieren, wobei später die aktuellen Einstellungen zurückgegeben oder geändert werden sollen.

Prüfen von Methoden für das Schließen von Dialogfeldern

Der Wert, der von den Show- und Display-Methoden zurückgegeben wird, gibt an, auf welcher Schaltfläche geklickt wurde, um das Dialogfeld zu schließen. Das folgende Beispiel zeigt das Dialogfeld Manueller Umbruch an, wobei eine Meldung in der Statusleiste angezeigt wird, wenn Sie auf OK klicken.

Sub DialogBoxButtons() 
 If Dialogs(wdDialogInsertBreak).Show = -1 Then 
 StatusBar = "Break inserted" 
 End If 
End Sub

In der folgenden Tabelle werden die zu den Schaltflächen in Dialogfeldern gehörigen Rückgabewerte beschrieben.

Rückgabewert Beschreibung
-2 Die Schaltfläche Schließen.
-1 Die Schaltfläche OK.
0 (Null) Die Schaltfläche Abbrechen.
> 0 (null) Eine Befehlsschaltfläche: 1 ist die erste Schaltfläche, 2 die zweite usw.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.