Metodo ApplicationFactory.HasVstoObject
Restituisce un valore che indica se è stato creato un elemento host Microsoft.Office.Tools.Word.Document per l'oggetto documento nativo specificato.
Spazio dei nomi: Microsoft.Office.Tools.Word
Assembly: 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)
Sintassi
'Dichiarazione
Function HasVstoObject ( _
document As _Document _
) As Boolean
bool HasVstoObject(
_Document document
)
Parametri
- document
Tipo: Microsoft.Office.Interop.Word._Document
Oggetto documento nativo da testare.Sebbene questo parametro sia di tipo Microsoft.Office.Interop.Word._Document, a questo metodo viene in genere passato un oggetto Microsoft.Office.Interop.Word.Document.
Valore restituito
Tipo: System.Boolean
true se un elemento host Microsoft.Office.Tools.Word.Document è stato creato per l'oggetto Microsoft.Office.Interop.Word.Document specificato; in caso contrario, false.
Note
È possibile chiamare questo metodo in un componente aggiuntivo a livello di applicazione per verificare l'esistenza di controlli gestiti che si desidera salvare in modo permanente prima di chiudere o salvare il documento di Word.Per un esempio in cui viene illustrato come salvare in modo permanente i controlli in un documento di Word, vedere Word Add-In Dynamic Controls Sample.
[!NOTA]
Il parametro document è di tipo Microsoft.Office.Interop.Word._Document, che è l'interfaccia padre di Microsoft.Office.Interop.Word.Document.Pertanto, questo metodo può accettare oggetti di entrambi i tipi: Microsoft.Office.Interop.Word._Document e Microsoft.Office.Interop.Word.Document.In genere, quando si fa riferimento un documento di Word, si utilizza un oggetto Microsoft.Office.Interop.Word.Document.
Esempi
Nell'esempio di codice seguente si controlla se al documento corrente è associato un elemento host e, in tal caso, si ottiene l'elemento host.Se nel documento esistono controlli gestiti, nell'esempio viene visualizzato un messaggio di avviso che informa l'utente che i controlli gestiti non saranno salvati in modo permanente quando viene salvato il documento.In questo esempio di codice si utilizza il gestore eventi dell'evento DocumentBeforeSave per eseguire il controllo.Per utilizzare questo codice, eseguirlo dalla classe di ThisAddIn in un progetto di componente aggiuntivo di Word destinato a .NET Framework 4 o .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);
}
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
ApplicationFactory Interfaccia
Spazio dei nomi Microsoft.Office.Tools.Word
Altre risorse
Programmazione delle personalizzazioni a livello di documento