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

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.

È possibile eseguire operazioni complesse con una sola chiamata al metodo richiamando le finestre di dialogo incorporate di Microsoft Office Word senza visualizzarle all'utente. A tale scopo, utilizzare il metodo Execute dell'oggetto Dialog senza chiamare il metodo Display.

Esempio

Friend Sub PageSetupDialogHidden()
    Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePageSetup)

    ' Set the properties of the dialog box.
    ' ControlChars.Quote() is used to represent the symbol for inches.
    With dlg
        .PageWidth = 3.3 & ControlChars.Quote
        .PageHeight = 6 & ControlChars.Quote
        .TopMargin = 0.71 & ControlChars.Quote
        .BottomMargin = 0.81 & ControlChars.Quote
        .LeftMargin = 0.66 & ControlChars.Quote
        .RightMargin = 0.66 & ControlChars.Quote
        .HeaderDistance = 0.28 & ControlChars.Quote
        .Orientation = Word.WdOrientation.wdOrientPortrait
        .DifferentFirstPage = False
        .FirstPage = 0
        .OtherPages = 0

        ' Apply these settings only to the current selection with this line of code:
        .ApplyPropsTo = 3

        ' Apply the settings.
        .Execute()
    End With
End Sub
private void PageSetupDialogHidden() 
{ 
    Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFilePageSetup];

    invokeHelper(dlg,"PageWidth","3.3\"");
    invokeHelper(dlg,"PageHeight","6\"");
    invokeHelper(dlg,"TopMargin","0.71\"");
    invokeHelper(dlg,"BottomMargin","0.81\"");
    invokeHelper(dlg,"LeftMargin","0.66\"");
    invokeHelper(dlg,"RightMargin","0.66\"");
    invokeHelper(dlg,"HeaderDistance","0.28\"");
    invokeHelper(dlg,"Orientation","0");
    invokeHelper(dlg,"DifferentFirstPage","0");
    invokeHelper(dlg,"FirstPage","0");
    invokeHelper(dlg,"OtherPages","0");

    // Apply these settings only to the current selection with this line of code:
    invokeHelper(dlg,"ApplyPropsTo","3"); 

    // Apply the settings.
    dlg.Execute(); 
}

private static void invokeHelper(Word.Dialog dlg, string member, string value)
{
    System.Type dlgType = typeof(Word.Dialog);

    // Set the appropriate property of the dialog box.
    dlgType.InvokeMember(member,
        System.Reflection.BindingFlags.SetProperty |
            System.Reflection.BindingFlags.Public |
            System.Reflection.BindingFlags.Instance,
        null, dlg, new object[] {value},
        System.Globalization.CultureInfo.InvariantCulture);
}

Compilazione del codice

Eseguire il codice dalla classe ThisDocument o ThisAddIn nel progetto Visual Studio Tools per Office.

In questo esempio viene utilizzata l'enumerazione wdDialogFilePageSetup per impostare più proprietà dell'impostazione di pagina senza input dell'utente. Nel codice viene utilizzato un oggetto Dialog per configurare dimensioni di pagina personalizzate.

Questo esempio richiede l'impostazione di Option Strict Off nel codice Visual Basic. Questa operazione è necessaria perché nessuna delle impostazioni specifiche per l'impostazione di pagina, come il margine superiore, il margine inferiore e così via, è un membro della classe Dialog. Costituiscono infatti proprietà ad associazione tardiva, poiché vengono create in modo dinamico da Word in fase di esecuzione, quando viene valutata l'enumerazione wdDialogFilePageSetup. Queste proprietà vengono in realtà create in fase di esecuzione in base ai controlli in ogni singola finestra di dialogo.

Nota:

È possibile suddividere il codice che deve essere eseguito con Option Strict Off in una classe separata.

Vedere anche

Attività

Procedura: utilizzare finestre di dialogo incorporate in Word

Concetti

Cenni preliminari sul modello a oggetti di Word