如何在不调用Document_Open宏的情况下以编程方式打开MS Word文档

时间:2008-12-15 22:24:22

标签: ms-word office-automation

我正在尝试使用Office Automation打开word文档。问题是我想在不调用Document_Open宏的情况下打开它。有没有办法做到这一点?

下面的相关行是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

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

如果您使用的是Word 2007文档,请尝试更改代码以直接使用XML,而不是使用Office Automation API。

它更快,您不必担心宏(以及许多其他自动化问题)。