¿Cómo puedo programación abrir un documento de MS Word sin necesidad de invocar la macro Document_Open

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

  •  21-08-2019
  •  | 
  •  

Pregunta

Estoy tratando de usar Office Automation para abrir un documento de Word. El problema es que me gustaría abrirlo sin invocar la macro Document_Open. ¿Hay una manera de hacer esto?

La línea relevante abajo es 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
¿Fue útil?

Solución

La respuesta aceptada aquí pueden ser de utilidad:

manipular un archivo en código (VB.NET) sin ejecutar macros del archivo

Otros consejos

Si se trata de documentos de Word 2007 que está trabajando, trate de cambiar su código para trabajar con el código XML directamente, en lugar de utilizar la API de automatización de oficina.

Es más rápido, y usted no tiene que preocuparse acerca de las macros (y un montón de otros problemas de automatización).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top