Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Devuelve un valor que indica si se ha creado un elemento host Microsoft.Office.Tools.Word.Document para el objeto de documento nativo especificado.
Espacio de nombres: Microsoft.Office.Tools.Word
Ensamblados: Microsoft.Office.Tools.Word (en Microsoft.Office.Tools.Word.dll)
Microsoft.Office.Tools.Word.v4.0.Utilities (en Microsoft.Office.Tools.Word.v4.0.Utilities.dll)
Sintaxis
'Declaración
Function HasVstoObject ( _
document As _Document _
) As Boolean
bool HasVstoObject(
_Document document
)
Parámetros
- document
Tipo: Microsoft.Office.Interop.Word._Document
Objeto de documento nativo que se va a comprobar.Aunque este parámetro es de tipo Microsoft.Office.Interop.Word._Document, normalmente se pasa un objeto Microsoft.Office.Interop.Word.Document a este método.
Valor devuelto
Tipo: System.Boolean
Es true si se ha creado un elemento host Microsoft.Office.Tools.Word.Document para el objeto Microsoft.Office.Interop.Word.Document especificado; de lo contrario, es false.
Comentarios
Puede llamar a este método en un complemento en el nivel de la aplicación para comprobar la existencia de controles administrados que desea conservar antes de cerrar o guardar el documento de Word.Para obtener un ejemplo que muestra cómo conservar controles en un documento de Word, vea Word Add-In Dynamic Controls Sample.
[!NOTA]
El parámetro document es de tipo Microsoft.Office.Interop.Word._Document, que es la interfaz primaria de Microsoft.Office.Interop.Word.Document.Por consiguiente, este método puede aceptar objetos de ambos tipos: Microsoft.Office.Interop.Word._Document y Microsoft.Office.Interop.Word.Document.Normalmente, al hacer referencia a un documento de Word, se utiliza un Microsoft.Office.Interop.Word.Document.
Ejemplos
En el siguiente ejemplo de código se comprueba si el documento actual tiene un elemento host asociado y, en caso afirmativo, obtiene el elemento host.Si existen controles administrados en el documento, el ejemplo muestra un mensaje de advertencia que informa al usuario de que no se conservarán los controles administrados al guardar el documento.En este ejemplo de código se utiliza el controlador del evento DocumentBeforeSave para realizar la comprobación.Para utilizar este código, ejecútelo desde la clase de ThisAddIn en un proyecto de complemento de word destinado 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);
}
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
Microsoft.Office.Tools.Word (Espacio de nombres)