Freigeben über


Gewusst wie: Verwenden integrierter Dialogfelder in Word

Bei der Arbeit mit Microsoft Office Word ist es gelegentlich nötig, Dialogfelder für Benutzereingaben anzuzeigen. Sie können eigene Dialogfelder erstellen oder aber die in Word integrierten Dialogfelder verwenden, die in der Dialogs-Auflistung des Application-Objekts verfügbar sind. Auf diese Weise können Sie auf mehr als 200 integrierte Dialogfelder zugreifen, die als Enumerationen dargestellt sind.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und auf Anwendungsebene für Word 2007 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Anzeigen von Dialogfeldern

Verwenden Sie zum Anzeigen eines Dialogfelds einen der Werte der WdWordDialog-Enumeration, um ein Dialog-Objekt zu erstellen, das das anzuzeigende Dialogfeld darstellt. Rufen Sie anschließend die Show-Methode eines Dialog-Objekts auf.

Im folgenden Codebeispiel wird veranschaulicht, wie das Dialogfeld Datei öffnen angezeigt wird. Wenn Sie dieses Beispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse oder der ThisAddIn-Klasse im Projekt aus.

Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFileOpen)
dlg.Show()
Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dlg.Show();

Zugreifen auf Dialogfeldmember, die durch späte Bindung verfügbar sind

Einige Eigenschaften und Methoden von Dialogfeldern in Word sind nur durch späte Bindung verfügbar. In Visual Basic-Projekten, in denen sich Option Strict auf oder in Visual C#-Projekten befindet, die auf .NET Framework 3.5 abzielen, muss der Zugriff auf die Member mithilfe von Reflektion erfolgen. Weitere Informationen finden Sie unter Späte Bindung in Office-Lösungen.

Im folgenden Codebeispiel wird veranschaulicht, wie die Name-Eigenschaft des Dialogfelds Datei öffnen in Visual Basic-Projekten verwendet wird, in denen sich Option Strict außerhalb von oder in Visual C#-Projekten befindet, die auf .NET Framework 4 abzielen. Wenn Sie dieses Beispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse oder der ThisAddIn-Klasse im Projekt aus.

Private Sub TestDynamicDialog()
    Dim dialog As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
    dialog.Name = "Testing"
    dialog.Show()
    MessageBox.Show(dialog.Name)
End Sub
dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dialog.Name = "Testing";
dialog.Show();
MessageBox.Show(dialog.Name);

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe von Reflektion auf die Name-Eigenschaft des Dialogfelds Datei öffnen in Visual Basic-Projekte zugegriffen wird, in denen sich Option Strict auf oder in Visual C#-Projekten befindet, die auf .NET Framework 3.5 abzielen. Wenn Sie dieses Beispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse oder der ThisAddIn-Klasse im Projekt aus.

Dim dlg As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(Word.Dialog)

' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.SetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, New Object() {"Testing"}, _
    System.Globalization.CultureInfo.InvariantCulture)

' Display the dialog box.
dlg.Show()

' Show the Name property.
MessageBox.Show(dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.GetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, Nothing, _
    System.Globalization.CultureInfo.InvariantCulture))
Word.Dialog dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
System.Type dialogType = typeof(Word.Dialog);

// Set the Name property of the dialog box.
dialogType.InvokeMember("Name", 
    System.Reflection.BindingFlags.SetProperty | 
        System.Reflection.BindingFlags.Public | 
        System.Reflection.BindingFlags.Instance,
    null, dialog, new object[] { "Testing" },
    System.Globalization.CultureInfo.InvariantCulture);

// Display the dialog box.
dialog.Show(ref missing); 

// Show the Name property.
MessageBox.Show(dialogType.InvokeMember("Name",
    System.Reflection.BindingFlags.GetProperty |
        System.Reflection.BindingFlags.Public |
        System.Reflection.BindingFlags.Instance,
    null, dialog, null,
    System.Globalization.CultureInfo.InvariantCulture).ToString());

Siehe auch

Aufgaben

Gewusst wie: Verwenden von Word-Dialogfeldern im ausgeblendeten Modus

Referenz

Option Strict-Anweisung

Reflektion (C# und Visual Basic)

Konzepte

Optionale Parameter in Office-Lösungen

Weitere Ressourcen

Übersicht über das Word-Objektmodell