ApplicationFactory.HasVstoObject(_Document) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une valeur qui indique si un élément hôte Document a été créé pour l’objet document natif spécifié.
public bool HasVstoObject (Microsoft.Office.Interop.Word._Document document);
Paramètres
- document
- _Document
Objet document natif à tester. Même si ce paramètre est de type _Document, vous transmettez généralement un objet Document à cette méthode.
Retours
true si un élément hôte Document a été créé pour l’objet Document spécifié ; false dans le cas contraire.
Exemples
L’exemple de code suivant vérifie si le document actif possède un élément hôte associé et, si c’est le cas, il obtient l’élément hôte. Si des contrôles managés existent dans le document, 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' Microsoft.Office.Interop.Word.ApplicationEvents4_Event.DocumentBeforeSave événement pour effectuer la vérification. Pour utiliser ce code, exécutez-le à partir de la ThisAddIn classe dans un projet de complément Word qui cible le .NET Framework 4 ou le .NET Framework 4.5 .
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);
}
}
}
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
Remarques
Vous pouvez appeler cette méthode dans un complément au niveau de l’application pour tester l’existence des contrôles managés que vous souhaitez conserver avant de fermer ou d’enregistrer le document Word. Pour obtenir un exemple qui montre comment conserver des contrôles dans un document Word, consultez exemple de contrôles dynamiques de complément Word.
Notes
Le document paramètre est de type Microsoft.Office.Interop.Word._Document , qui est l’interface parente de Microsoft.Office.Interop.Word.Document . Par conséquent, cette méthode peut accepter des objets des deux types : Microsoft.Office.Interop.Word._Document et Microsoft.Office.Interop.Word.Document . En règle générale, lorsque vous référencez un document Word, vous utilisez un Microsoft.Office.Interop.Word.Document .