Como posso programaticamente abrir um documento do MS Word sem invocar a macro Document_Open
-
21-08-2019 - |
Pergunta
Eu estou tentando usar o Office Automation para abrir um documento do Word. O problema é que eu gostaria de abri-lo sem invocar a macro Document_Open. Existe uma maneira de fazer isso?
A linha relevante abaixo é wordApp.Documents.Open ()
Imports Microsoft.Office.Interop
Public Class WordFunctions
Public Shared Function ConvertToDoc(ByVal file As String) As Boolean
Dim wordDoc As Word.Document
Dim wordApp As Word.Application
Try
wordApp = CreateObject("Word.Application", "")
Catch ex As Exception
Return False
End Try
Try
wordApp.Caption = "Automated Word Instance"
wordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone
wordDoc = wordApp.Documents.Open(FileName:=file, Visible:=False, ConfirmConversions:=False)
wordDoc.SaveAs(FileName:=file + ".doc", FileFormat:=Word.WdSaveFormat.wdFormatDocument)
wordDoc.Activate()
wordDoc.Close()
Return True
Catch ex As Exception
Return False
Finally
wordApp.Quit(SaveChanges:=False)
End Try
End Function
End Class
Solução
A resposta aceito aqui podem ser de uso:
Manipular um arquivo em código (VB.NET) sem executar macros do arquivo
Outras dicas
Se for documentos Word 2007 que você está trabalhando, tente alterar o seu código para trabalhar com o XML diretamente, em vez de usar a API Office Automation.
É mais rápido, e você não precisa se preocupar com macros (e muitas outras questões de automação).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow