Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Word 2007 e Word 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
Visualizzazione delle finestre di dialogo
Per visualizzare una finestra di dialogo, utilizzare uno dei valori dell'enumerazione WdWordDialog per creare un oggetto Dialog che rappresenta la finestra di dialogo da visualizzare. Quindi, chiamare il metodo Show dell'oggetto Dialog.
Nell'esempio di codice riportato di seguito viene illustrato come visualizzare la finestra di dialogo Apri file. Per utilizzare questo esempio di codice, eseguirlo dalla classe ThisDocument o ThisAddIn del progetto.
Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFileOpen)
dlg.Show()
Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dlg.Show();
Accesso ai membri della finestra di dialogo disponibili tramite associazione tardiva
Alcune proprietà e metodi delle finestre di dialogo di Word sono disponibili solo tramite associazione tardiva. Nei progetti di Visual Basic dove Option Strict è attiva o nei progetti di Visual C# che hanno come destinazione .NET Framework 3.5, è necessario utilizzare la reflection per accedere a questi membri. Per ulteriori informazioni, vedere Associazione tardiva nelle soluzioni Office.
Nell'esempio di codice seguente viene dimostrato come utilizzare la proprietà Name della finestra di dialogo Apri file nei progetti di Visual Basic in cui Option Strict non è attiva o nei progetti di Visual C# che hanno come destinazione .NET Framework 4. Per utilizzare questo esempio di codice, eseguirlo dalla classe ThisDocument o ThisAddIn del progetto.
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);
Nell'esempio di codice seguente viene dimostrato come utilizzare la reflection per accedere alla proprietà Name della finestra di dialogo Apri file nei progetti di Visual Basic in cui Option Strict è attiva o nei progetti di Visual C# che hanno come destinazione .NET Framework 3.5. Per utilizzare questo esempio di codice, eseguirlo dalla classe ThisDocument o ThisAddIn del progetto.
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());
Vedere anche
Attività
Procedura: utilizzare le finestre di dialogo di Word in modalità nascosta
Riferimenti
Reflection (C# e Visual Basic)
Concetti
Parametri facoltativi nelle soluzioni Office