¿Cómo puedo programación abrir un documento de MS Word sin necesidad de invocar la macro Document_Open
-
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
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