Как программно открыть документ MS Word без вызова макроса Document_Open [duplicate]

Я пытаюсь использовать 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
15.12.2008 22:24:21
Возможно, вам следует указать, с какой версией слова вы работаете - 2003 или 2007?
Troy Howard 15.12.2008 22:27:57
1 ОТВЕТ

Если вы работаете с документами Word 2007, попробуйте изменить код для работы с XML напрямую, а не с помощью API автоматизации Office.

Это быстрее, и вам не нужно беспокоиться о макросах (и множестве других проблем автоматизации).

0
15.12.2008 22:30:34