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
Microsoft Office-Version
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.
![]() |
---|
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