Como posso programaticamente abrir um documento do MS Word sem invocar a macro Document_Open

StackOverflow https://stackoverflow.com/questions/369900

  •  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
Foi útil?

Solução

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
scroll top