1

Office オートメーションを使用して 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
4

1 に答える 1

0

作業しているのが Word 2007 ドキュメントの場合は、Office Automation API を使用する代わりに、XML を直接操作するようにコードを変更してみてください。

高速であり、マクロ (および他の多くの自動化の問題) について心配する必要はありません。

于 2008-12-15T22:30:34.783 に答える