Método ApplicationFactory.HasVstoObject
Retorna um valor que indica se um Microsoft.Office.Tools.Word.Document o item de host foi criado para o objeto de documento nativo especificado.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word (em Microsoft.Office.Tools.Word.dll)
Sintaxe
'Declaração
Function HasVstoObject ( _
document As _Document _
) As Boolean
bool HasVstoObject(
_Document document
)
Parâmetros
- document
Tipo: Microsoft.Office.Interop.Word._Document
O objeto de documento nativo para testar.Embora esse parâmetro é do tipo Microsoft.Office.Interop.Word._Document, você normalmente passar um Microsoft.Office.Interop.Word.Document o objeto a este método.
Valor de retorno
Tipo: System.Boolean
true Se um Microsoft.Office.Tools.Word.Document o item de host foi criado para o especificado Microsoft.Office.Interop.Word.Document objeto; Caso contrário, false.
Comentários
Você pode chamar esse método em um suplemento do nível do aplicativo para testar a existência de controles gerenciados que você deseja manter antes de fechar ou salvar o documento do Word. Para obter um exemplo que demonstra como persistir controles em um documento do Word, consulte Word Add-In Dynamic Controls Sample.
Observação |
---|
O document parâmetro é do tipo Microsoft.Office.Interop.Word._Document, que é a interface do pai do Microsoft.Office.Interop.Word.Document. Portanto, esse método pode aceitar objetos dos dois tipos: Microsoft.Office.Interop.Word._Document and Microsoft.Office.Interop.Word.Document. Normalmente, quando você faz referência a um documento do Word, você usa um Microsoft.Office.Interop.Word.Document. |
Exemplos
O exemplo de código a seguir verifica se o documento atual tem um item de host associado e, em caso afirmativo, ele obtém o item de host. Se controles gerenciados existirem no documento, o exemplo exibe uma mensagem de aviso que informa ao usuário que os controles gerenciados não serão persistentes ao salvar o documento. Este exemplo de código usa o manipulador de eventos do DocumentBeforeSave o evento para executar a verificação. Para usar esse código, executá-lo na ThisAddIn classe em um suplemento do projeto do Word que se destina a .NET Framework 4.
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);
}
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.
Consulte também
Referência
Namespace Microsoft.Office.Tools.Word
Outros recursos
Obtendo Extended objetos a partir de objetos nativos do Office no nível do documento personalizações