共用方式為


HOW TO:使用 Word 中的內建對話方塊

在使用 Microsoft Office Word 的時候,您有時需要顯示對話方塊讓使用者進行輸入。 雖然您可以自行建立,不過也可以使用 Word 中的內建對話方塊,這些對話方塊是公開在 Application 物件的 Dialogs 集合中。 您可以存取超過 200 種以上以列舉型別 (Enumeration) 表示的內建對話方塊。

**適用於:**本主題中的資訊適用於 Word 2007 和 Word 2010 的文件層級專案和應用程式層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

顯示對話方塊

若要顯示對話方塊,請使用其中一個 WdWordDialog 列舉值來建立 Dialog 物件,以表示您要顯示的對話方塊。 然後,呼叫 Dialog 物件的 Show 方法。

下列程式碼範例示範如何顯示 [開啟舊檔] 對話方塊。 若要使用這個範例,請從專案中的 ThisDocument 或 ThisAddIn 類別中執行。

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

存取透過晚期繫結使用的對話方塊成員

Word 中對話方塊的部分屬性和方法只能透過晚期繫結才能使用。 在開啟 Option Strict 的 Visual Basic 專案或目標為 .NET Framework 3.5 的 Visual C# 專案,您必須使用反映才能存取這些成員。 如需詳細資訊,請參閱 Office 方案中的晚期繫結

下列程式碼範例示範如何在關閉 Option Strict 的 Visual Basic 專案或目標為 .NET Framework 4 的 Visual C# 專案中,使用 [開啟舊檔] 對話方塊的 Name 屬性。 若要使用這個範例,請從專案中的 ThisDocument 或 ThisAddIn 類別中執行。

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);

下列程式碼範例示範如何在開啟 Option Strict 的 Visual Basic 專案或目標為 .NET Framework 3.5 的 Visual C# 專案中,使用反映存取 [開啟舊檔] 對話方塊的 Name 屬性。 若要使用這個範例,請從專案中的 ThisDocument 或 ThisAddIn 類別中執行。

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());

請參閱

工作

HOW TO:以隱藏模式使用 Word 對話方塊

參考

Option Strict 陳述式

反映 (C# 和 Visual Basic)

概念

Office 方案中的選擇性參數

其他資源

Word 物件模型概觀