Usar programaticamente caixas de diálogo internas no Word
Ao trabalhar com o Microsoft Office Word, há momentos em que você precisa exibir caixas de diálogo para entrada do usuário. Embora você possa criar seu próprio, você também pode querer adotar a abordagem de usar as caixas de diálogo internas no Word, que são expostas na Dialogs coleção do Application objeto. Isso permite que você acesse mais de 200 das caixas de diálogo internas, que são representadas como enumerações.
Aplica-se a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de suplemento VSTO para Word. Para obter mais informações, consulte Recursos disponíveis por aplicativo e tipo de projeto do Office.
Exibir caixas de diálogo
Para exibir uma caixa de diálogo, use um dos valores da enumeração para criar um Dialog objeto que represente a caixa de WdWordDialog diálogo que você deseja exibir. Em seguida, chame Dialog o Show método do objeto.
O exemplo de código a seguir demonstra como exibir a caixa de diálogo Abrir arquivo. Para usar este exemplo, execute-o a ThisDocument
partir da classe ou ThisAddIn
em seu projeto.
Membros da caixa de diálogo do Access que estão disponíveis por meio de vinculação tardia
Algumas propriedades e métodos de caixas de diálogo no Word estão disponíveis somente por meio de vinculação tardia. Em projetos do Visual Basic onde Option Strict está ativado, você deve usar a reflexão para acessar esses membros. Para obter mais informações, consulte Vinculação tardia em soluções do Office.
O exemplo de código a seguir demonstra como usar a propriedade Name da caixa de diálogo Abrir arquivo em projetos do Visual Basic onde Option Strict está desativado ou em projetos do Visual C# que visam o .NET Framework 4 ou o .NET Framework 4.5. Para usar este exemplo, execute-o a ThisDocument
partir da classe ou ThisAddIn
em seu projeto.
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 a propriedade Name da caixa de diálogo Abrir arquivo em projetos do Visual Basic onde Option Strict está ativado. Para usar este exemplo, execute-o a ThisDocument
partir da classe ou ThisAddIn
em seu 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))