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
Versione Microsoft Office
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
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];
Una volta creata la variabile Dialog, è possibile chiamarne i metodi.
dlg.Show()
object timeOut = 0; dlg.Show(ref timeOut);
Per accedere ai membri delle finestre di dialogo
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);
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