Freigeben über


Gewusst wie: Verwenden von Word-Dialogfeldern im ausgeblendeten Modus

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Word 2003

  • Word 2007

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Sie können mit einem Methodenaufruf komplexe Vorgänge ausführen, indem Sie die integrierten Dialogfelder von Microsoft Office Word aufrufen und sie den Benutzern nicht anzeigen. Zu diesem Zweck können Sie die Execute-Methode des Dialog-Objekts verwenden, ohne die Display-Methode aufzurufen.

Beispiel

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

Kompilieren des Codes

Führen Sie diesen Code von der ThisDocument-Klasse oder der ThisAddIn-Klasse im Visual Studio Tools for Office-Projekt aus.

In diesem Beispiel werden mit der wdDialogFilePageSetup-Enumeration mehrere Seiteneinrichtungseigenschaften ohne Benutzereingabe festgelegt. Im Code wird eine benutzerdefinierte Seitengröße mithilfe eines Dialog-Objekts konfiguriert.

Für dieses Beispiel ist das Festlegen von Option Strict Off im Visual Basic-Code erforderlich. Dies ist erforderlich, da die einzelnen Einstellungen der Seiteneinrichtung (z. B. oberer Rand, unterer Rand usw.) keine Member der Dialog-Klasse sind. Diese Eigenschaften werden spät gebunden, da sie von Word dynamisch zur Laufzeit erstellt werden, wenn die wdDialogFilePageSetup-Enumeration ausgewertet wird. Diese Eigenschaften werden tatsächlich zur Laufzeit erstellt, denn sie müssen zu den Steuerelementen des jeweiligen Dialogfelds passen.

Hinweis:

Sie können Code, der mit Option Strict Off ausgeführt werden muss, mit Code Factoring in eine separate Klasse aufnehmen.

Siehe auch

Aufgaben

Gewusst wie: Verwenden integrierter Dialogfelder in Word

Konzepte

Übersicht über das Word-Objektmodell