Como: Use as caixas de diálogo internas do Word

Ao trabalhar com o Word Microsoft Office, há ocasiões em que quando você precisar exibir caixas de diálogo para entrada do usuário. Embora você possa criar seus próprios, também convém usar a abordagem do uso de caixas de diálogo internas no Word, que são expostas na Dialogs coleção da Application objeto. Isso permite que você acesse mais de 200 caixas de diálogo internas, que são representadas como enumerações.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para Word 2007 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Para exibir uma caixa de diálogo, use um dos valores da WdWordDialog enumeração para criar um Dialog objeto que representa a caixa de diálogo que você deseja exibir. Em seguida, chame o Show método de Dialog objeto.

O exemplo de código a seguir demonstra como exibir o Abrir arquivo caixa de diálogo. Para usar esse exemplo, executá-lo do ThisDocument ou ThisAddIn classe no projeto.

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

Acessando os membros da caixa de diálogo que estão disponíveis através da ligação tardia

Algumas propriedades e métodos de caixas de diálogo do Word estão disponíveis somente por meio de ligação tardia. No Visual Basic projetos onde Option Strict está em ou em projetos do Visual C# destinados a.NET Framework 3.5, você deve usar a reflexão para acessar esses membros. For more information, see Ligação tardia em soluções do Office.

O exemplo de código a seguir demonstra como usar o Name propriedade da Abrir arquivo em Visual Basic caixa de diálogo projetos onde Option Strict está desligado ou projetos do Visual C# destinados a .NET Framework 4. Para usar esse exemplo, executá-lo do ThisDocument ou ThisAddIn classe no projeto.

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

O exemplo de código a seguir demonstra como usar a reflexão para acessar o Name propriedade da Abrir arquivo caixa de diálogo no Visual Basic projetos onde Option Strict está em ou em projetos do Visual C# destinados a.NET Framework 3.5. Para usar esse exemplo, executá-lo do ThisDocument ou ThisAddIn classe no projeto.

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

Consulte também

Tarefas

Como: Use as caixas de diálogo do Word no modo oculto

Referência

Opção declaração estrito

Reflexão (C# e Visual Basic)

Conceitos

Parâmetros opcionais em soluções do Office

Outros recursos

Palavra Overview do modelo de objeto