Compartir vía


Usar cuadros de diálogo integrados mediante programación en Word

Al trabajar con Microsoft Office Word, hay ocasiones en las que es necesario mostrar cuadros de diálogo para la entrada del usuario. Aunque puede crear su propio, es posible que también desee adoptar el enfoque de usar los cuadros de diálogo integrados en Word, que se exponen en la Dialogs colección del Application objeto . Esto le permite acceder a más de 200 de los cuadros de diálogo integrados, que se representan como enumeraciones.

Se aplica a: la información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO para Word. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

Mostrar cuadros de diálogo

Para mostrar un cuadro de diálogo, use uno de los valores de la WdWordDialog enumeración para crear un Dialog objeto que represente el cuadro de diálogo que desea mostrar. A continuación, llame al Show método del Dialog objeto .

En el ejemplo de código siguiente se muestra cómo mostrar el cuadro de diálogo Abrir archivo. Para usar este ejemplo, ejecútelo desde la ThisDocument clase o ThisAddIn del proyecto.

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

Obtener acceso a los miembros del cuadro de diálogo que están disponibles a través del enlace en tiempo de demora

Algunas propiedades y métodos de cuadros de diálogo de Word solo están disponibles a través del enlace en tiempo de ejecución. En los proyectos de Visual Basic en los que option Strict está activado, debe usar la reflexión para acceder a estos miembros. Para obtener más información, vea Enlace en tiempo de ejecución en soluciones de Office.

En el ejemplo de código siguiente se muestra cómo usar la propiedad Name del cuadro de diálogo Abrir archivo en proyectos de Visual Basic donde Option Strict está desactivado o en proyectos de Visual C# que tienen como destino .NET Framework 4 o .NET Framework 4.5. Para usar este ejemplo, ejecútelo desde la ThisDocument clase o ThisAddIn del proyecto.

dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dialog.Name = "Testing";
dialog.Show();
MessageBox.Show(dialog.Name);

En el ejemplo de código siguiente se muestra cómo usar la reflexión para acceder a la propiedad Name del cuadro de diálogo Abrir archivo en proyectos de Visual Basic en los que option Strict está activado. Para usar este ejemplo, ejecútelo desde la ThisDocument clase o ThisAddIn del proyecto.

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