Gewusst wie: Verwenden integrierter Dialogfelder in Word
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. |
Bei der Arbeit mit Microsoft Office Word ist es gelegentlich nötig, Dialogfelder für Benutzereingaben anzuzeigen. Sie können eigene Dialogfelder erstellen oder aber die in Word integrierten Dialogfelder verwenden, die in der Dialogs-Auflistung des Application-Objekts verfügbar sind. Auf diese Weise können Sie auf mehr als 200 integrierte Dialogfelder zugreifen, die als Enumerationen dargestellt sind.
So verwenden Sie ein integriertes Dialogfeld
Mit einem der Werte der WdWordDialog-Enumeration können Sie ein Dialog-Objekt erstellen, das das anzuzeigende Word-Dialogfeld darstellt. Wenn Sie das folgende Codebeispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse bzw. der ThisAddIn-Klasse im Projekt aus.
Dim dlg As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFileNew)
Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileNew];
Nachdem Sie die Dialog-Variable erstellt haben, können Sie ihre Methoden aufrufen.
dlg.Show()
object timeOut = 0; dlg.Show(ref timeOut);
So greifen Sie auf die Member des Dialogfelds zu
Rufen Sie den Dialogfeldtyp ab, und legen Sie die Name-Eigenschaft auf Testing fest. Wenn Sie das folgende Codebeispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse bzw. der ThisAddIn-Klasse im Projekt aus.
Hinweis: Die Interaktion mit den integrierten Word-Dialogfeldern erfolgt durch spätes Binden. Wenn Option Strict auf On festgelegt ist oder C# verwendet wird, können Sie daher nicht direkt auf die Member der Dialogfelder zugreifen. Sie müssen die Reflektionsbibliotheken verwenden, um auf die Member der Dialogfelder zuzugreifen.
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);
Zeigen Sie das Dialogfeld an, und zeigen Sie dann die Name-Eigenschaft in einem Meldungsfeld an.
' 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());
Siehe auch
Aufgaben
Gewusst wie: Verwenden von Word-Dialogfeldern im ausgeblendeten Modus