共用方式為


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

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

  • 應用程式層級專案

Microsoft Office 版本

  • Word 2003

  • Word 2007

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

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

若要使用內建對話方塊

  1. 使用其中一個 WdWordDialog 列舉型別的值來建立 Dialog 物件,以表示您要顯示的 Word 對話方塊。若要使用下列程式碼範例,請從專案中的 ThisDocument 或 ThisAddIn 類別 (Class) 加以執行。

    Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFileNew)
    
    Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileNew];
    
  2. 建立 Dialog 變數之後,您即可呼叫其方法。

    dlg.Show()
    
    object timeOut = 0;
    dlg.Show(ref timeOut);
    

若要存取對話方塊成員

  1. 取得對話方塊型別,並將 Name 屬性設定為 Testing。若要使用下列程式碼範例,請從專案中的 ThisDocument 或 ThisAddIn 類別加以執行。

    注意事項:

    與內建 Word 對話方塊的互動是透過晚期繫結 (Late Binding) 執行,因此,如果將 Option Strict 設定為 On,或是使用 C#,則無法直接存取這些對話方塊的成員。您必須使用 Reflection 程式庫來存取對話方塊成員。

    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)
    
    Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
    System.Type dlgType = typeof(Word.Dialog);
    
    // Set the Name property of the dialog box.
    dlgType.InvokeMember("Name", 
        System.Reflection.BindingFlags.SetProperty | 
            System.Reflection.BindingFlags.Public | 
            System.Reflection.BindingFlags.Instance,
        null, dlg, new object[] {"Testing"},
        System.Globalization.CultureInfo.InvariantCulture);
    
  2. 顯示對話方塊,然後在訊息方塊中顯示 Name 屬性。

    ' 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))
    
    // Display the dialog box.
    dlg.Show(ref missing); 
    
    // Show the Name property.
    MessageBox.Show(dlgType.InvokeMember("Name",
        System.Reflection.BindingFlags.GetProperty |
            System.Reflection.BindingFlags.Public |
            System.Reflection.BindingFlags.Instance,
        null, dlg, null,
        System.Globalization.CultureInfo.InvariantCulture).ToString());
    

請參閱

工作

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

概念

Word 物件模型概觀

了解 Office 方案中的選擇性參數