Come faccio a livello di codice aprire un documento di MS Word senza invocare la macro Document_Open
-
21-08-2019 - |
Domanda
Sto cercando di utilizzare Office Automation per aprire un documento word. Il problema è che vorrei aprirla senza invocare la macro Document_Open. C'è un modo per fare questo?
La linea in questione sotto è 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
Soluzione
La risposta accettata qui può essere utile:
manipolare un file in codice (VB.NET) senza eseguire le macro del file
Altri suggerimenti
Se è documenti di Word 2007 si sta lavorando, provare a cambiare il codice per lavorare con XML direttamente, invece di utilizzare l'API di Office Automation.
E 'più veloce, e non devi preoccuparti di macro (e un sacco di altri problemi di automazione).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow