Wie öffne ich programmatisch eine MS Word-Dokument, ohne das Document_Open Makro aufrufen

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

  •  21-08-2019
  •  | 
  •  

Frage

Ich versuche, Office-Automatisierung zu verwenden, um ein Word-Dokument zu öffnen. Das Problem ist, dass ich es öffnen möchte, ohne das Document_Open Makro aufgerufen wird. Gibt es eine Möglichkeit, dies zu tun?

Die entsprechende Zeile unten ist 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
War es hilfreich?

Lösung

Die akzeptierte Antwort kann hier von Nutzen sein:

Manipulieren eine Datei im Code (VB.NET), ohne die Datei Makros ausführen

Andere Tipps

Wenn es Word 2007-Dokumente ist mit dem Sie arbeiten, versuchen, Ihren Code zu ändern mit dem XML direkt zu arbeiten, statt auf die Office-Automation-API zu verwenden.

Es ist schneller, und Sie müssen nicht über Makros (und vielen anderen Automatisierungsfragen) kümmern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top