ApplicationFactory.HasVstoObject, méthode
Retourne une valeur qui indique si un élément hôte Microsoft.Office.Tools.Word.Document a été créé pour l'objet de document natif spécifié.
Espace de noms : Microsoft.Office.Tools.Word
Assemblys : Microsoft.Office.Tools.Word (dans Microsoft.Office.Tools.Word.dll)
Microsoft.Office.Tools.Word.v4.0.Utilities (dans Microsoft.Office.Tools.Word.v4.0.Utilities.dll)
Syntaxe
'Déclaration
Function HasVstoObject ( _
document As _Document _
) As Boolean
bool HasVstoObject(
_Document document
)
Paramètres
- document
Type : Microsoft.Office.Interop.Word._Document
Objet de document natif à tester.Bien que ce paramètre soit de type Microsoft.Office.Interop.Word._Document, vous passez généralement un objet Microsoft.Office.Interop.Word.Document à cette méthode.
Valeur de retour
Type : System.Boolean
true si un élément hôte Microsoft.Office.Tools.Word.Document a été créé pour l'objet Microsoft.Office.Interop.Word.Document spécifié ; sinon, false.
Notes
Vous pouvez appeler cette méthode dans un complément d'application pour tester l'existence de contrôles managés que vous souhaitez rendre persistant avant de fermer ou d'enregistrer le document Word. Pour obtenir un exemple montrant comment rendre des contrôles d'un document Word persistants, consultez Word Add-In Dynamic Controls Sample.
Notes
Le paramètre document est de type Microsoft.Office.Interop.Word._Document, ce qui correspond à l'interface parente de Microsoft.Office.Interop.Word.Document.Par conséquent, cette méthode peut accepter des objets de deux types: Microsoft.Office.Interop.Word._Document et Microsoft.Office.Interop.Word.Document.En général, lorsque vous référencez un document Word, vous utilisez Microsoft.Office.Interop.Word.Document.
Exemples
L'exemple de code suivant vérifie si le document actuel a un élément hôte associé et, si tel est le cas, il obtient l'élément hôte. Si le document contient des contrôles managés, l'exemple affiche un message d'avertissement qui informe l'utilisateur que les contrôles managés ne seront pas rendus persistants lors de l'enregistrement du document. Cet exemple de code utilise le gestionnaire d'événements de l'événement DocumentBeforeSave pour effectuer la vérification. Pour utiliser ce code, exécutez-le dans la classe d'ThisAddIn dans un projet de complément Word qui cible .NET Framework 4 ou .NET Framework 4.5.
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);
}
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Microsoft.Office.Tools.Word, espace de noms