Método ApplicationFactory.HasVstoObject
Retorna um valor que indica se um item de host de Microsoft.Office.Tools.Word.Document esteve criado para o objeto nativo de documento especificado.
Namespace: Microsoft.Office.Tools.Word
Assemblies: Microsoft.Office.Tools.Word (em Microsoft.Office.Tools.Word.dll)
Microsoft.Office.Tools.Word.v4.0.Utilities (em Microsoft.Office.Tools.Word.v4.0.Utilities.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 nativo do documento para teste.Embora esse parâmetro é do tipo Microsoft.Office.Interop.Word._Document, você normalmente passa um objeto de Microsoft.Office.Interop.Word.Document para este método.
Valor de retorno
Tipo: System.Boolean
true se um item de host de Microsoft.Office.Tools.Word.Document foi criado para o objeto especificado de Microsoft.Office.Interop.Word.Document ; caso contrário, false.
Comentários
Você pode chamar esse método em um suplemento ao nível para testar a existência dos controles gerenciados que você deseja persistir antes de fechar ou salvar do documento do Word.Para um exemplo que demonstra como persistir controles em um documento do Word, consulte Word Add-In Dynamic Controls Sample.
Observação |
---|
O parâmetro de document é do tipo Microsoft.Office.Interop.Word._Document, que é a interface pai de Microsoft.Office.Interop.Word.Document.Como consequência, esse método pode aceitar objetos de dois tipos: Microsoft.Office.Interop.Word._Document e Microsoft.Office.Interop.Word.Document.Normalmente, quando você referencia um documento do Word, você usa Microsoft.Office.Interop.Word.Document. |
Exemplos
O exemplo de código verifica se o documento atual possui um item associado host e, em caso afirmativo, obtenha o item host.Se os controles gerenciados existem no documento, o exemplo exibe uma mensagem de aviso que informa ao usuário que os controles gerenciados não serão salvas para salvar o documento.Este exemplo de código usa o manipulador de eventos do evento de DocumentBeforeSave para executar uma verificação.Para usar este código, ele execução da classe de ThisAddIn em um projeto do suplemento ao Word que tem como alvo .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);
}
}
}
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