ApplicationFactory.HasVstoObject-Methode
Gibt einen Wert zurück, der angibt, ob für das angegebene systemeigene Dokumentobjekt ein Microsoft.Office.Tools.Word.Document-Hostelement erstellt wurde.
Namespace: Microsoft.Office.Tools.Word
Assemblys: Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)
Microsoft.Office.Tools.Word.v4.0.Utilities (in Microsoft.Office.Tools.Word.v4.0.Utilities.dll)
Syntax
'Declaration
Function HasVstoObject ( _
document As _Document _
) As Boolean
bool HasVstoObject(
_Document document
)
Parameter
- document
Typ: Microsoft.Office.Interop.Word._Document
Das zu testende systemeigene Dokumentobjekt.Obwohl dieser Parameter vom Typ Microsoft.Office.Interop.Word._Document ist, übergeben Sie i. d. R. ein Microsoft.Office.Interop.Word.Document-Objekt an diese Methode.
Rückgabewert
Typ: System.Boolean
true, wenn für das angegebene Microsoft.Office.Interop.Word.Document-Objekt ein Microsoft.Office.Tools.Word.Document-Hostelement erstellt wurde, andernfalls false.
Hinweise
Sie können diese Methode in einem Add-In auf Anwendungsebene aufrufen, um zu überprüfen, ob verwaltete Steuerelemente vorhanden sind, die beibehalten werden sollen, bevor Sie das Word-Dokument schließen oder speichern. Ein Beispiel, das veranschaulicht, wie Steuerelemente in einem Word-Dokument beibehalten werden, finden Sie unter Word Add-In Dynamic Controls Sample.
Hinweis
Der document-Parameter ist vom Typ Microsoft.Office.Interop.Word._Document, bei dem es sich um die übergeordnete Schnittstelle von Microsoft.Office.Interop.Word.Document handelt.Daher kann diese Methode Objekte beider Typen akzeptieren: Microsoft.Office.Interop.Word._Document und Microsoft.Office.Interop.Word.Document.Normalerweise wird mithilfe von Microsoft.Office.Interop.Word.Document auf ein Word-Dokument verwiesen.
Beispiele
Im folgenden Codebeispiel wird überprüft, ob dem aktuellen Dokument ein Hostelement zugeordnet ist. Falls ja, wird das Hostelement abgerufen. Falls in dem Dokument verwaltete Steuerelemente vorhanden sind, wird in dem Beispiel eine Warnmeldung angezeigt, die den Benutzer darüber informiert, dass die verwalteten Steuerelemente beim Speichern des Dokuments nicht erhalten bleiben. In diesem Codebeispiel wird der Ereignishandler des DocumentBeforeSave-Ereignisses zur Ausführung dieser Prüfung verwendet. Wenn Sie diesen Code verwenden möchten, führen Sie es von der ThisAddIn-Klasse in einem Add-In-Projekt, das auf .NET Framework 4 oder .NET Framework 4.5 abzielt.
Private Sub Application_DocumentBeforeSave( _
ByVal Doc As Microsoft.Office.Interop.Word.Document, _
ByRef SaveAsUI As Boolean, _
ByRef Cancel As Boolean) Handles Application.DocumentBeforeSave
If Globals.Factory.HasVstoObject(Doc) = True Then
Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Doc)
If vstoDoc.Controls.Count > 0 Then
System.Windows.Forms.MessageBox.Show( _
"The VSTO controls are not persisted when you save this document.", _
"Controls Persistence", _
System.Windows.Forms.MessageBoxButtons.OK, _
System.Windows.Forms.MessageBoxIcon.Warning)
End If
End If
End Sub
void Application_DocumentBeforeSave(
Microsoft.Office.Interop.Word.Document Doc, ref bool SaveAsUI,
ref bool Cancel)
{
if (Globals.Factory.HasVstoObject(Doc) == true)
{
Document vstoDoc = Globals.Factory.GetVstoObject(Doc);
if (vstoDoc.Controls.Count > 0)
{
System.Windows.Forms.MessageBox.Show(
"The VSTO controls are not persisted when you save this document.",
"Controls Persistence",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Warning);
}
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
ApplicationFactory Schnittstelle
Microsoft.Office.Tools.Word-Namespace
Weitere Ressourcen
Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit