Condividi tramite


Procedura: utilizzare finestre di dialogo incorporate in Word

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di documento

  • Progetti a livello di applicazione

Versione Microsoft Office

  • Word 2003

  • Word 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

Quando si utilizza Microsoft Office Word, è talvolta necessario visualizzare finestre di dialogo per l'input dell'utente. Sebbene sia possibile creare finestre di dialogo personalizzate, può rivelarsi opportuno utilizzare le finestre di dialogo incorporate in Word, esposte nell'insieme Dialogs dell'oggetto Application. In questo modo si può accedere a oltre 200 finestre di dialogo incorporate, rappresentate come enumerazioni.

Per utilizzare una finestra di dialogo incorporata

  1. Utilizzare uno dei valori dell'enumerazione WdWordDialog per creare un oggetto Dialog che rappresenta la finestra di dialogo di Word da visualizzare. Per utilizzare l'esempio di codice riportato di seguito, è necessario eseguirlo dalla classe ThisDocument o ThisAddIn nel progetto.

    Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFileNew)
    
    Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileNew];
    
  2. Una volta creata la variabile Dialog, è possibile chiamarne i metodi.

    dlg.Show()
    
    object timeOut = 0;
    dlg.Show(ref timeOut);
    
  1. Ottenere il tipo della finestra di dialogo e impostare la proprietà Nome su Testing. Per utilizzare l'esempio di codice riportato di seguito, è necessario eseguirlo dalla classe ThisDocument o ThisAddIn nel progetto.

    Nota:

    Poiché le interazioni con le finestre di dialogo incorporate di Word sono basate sull'associazione tardiva, in caso di impostazione di Option Strict su On o di utilizzo di C#, non è possibile accedere direttamente ai membri delle finestre di dialogo. A questo scopo, è necessario utilizzare le librerie di classi 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. Visualizzare la finestra di dialogo, quindi visualizzare la proprietà Nome in una finestra di messaggio.

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

Vedere anche

Attività

Procedura: utilizzare le finestre di dialogo di Word in modalità nascosta

Concetti

Cenni preliminari sul modello a oggetti di Word

Informazioni sui parametri facoltativi nelle soluzioni Office