Приложение Office зависает при открытии документа через взаимодействие - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь открыть файл, но приложение Office зависает при открытии документа в VB.NET.

У меня есть следующий код:

Dim oProp As Object
Dim strPropValue As String
Dim lngRetVal As Integer
Dim strmsg As String
Dim lngretcode As Integer
Dim strPropertyName As String

Dim oWordDoc As Word.Document

Dim ObjOfficeAPP As Object

ObjOfficeAPP = New Word.Application()

GetWORDKEYS = cstFAILURE

ObjOfficeAPP.DisplayAlerts = WdAlertLevel.wdAlertsAll
ObjOfficeAPP.Application.Visible = True

oWordDoc = ObjOfficeAPP.Documents.Open(FileName:=strpFileName, Visible:=False)

У меня проблемы с линией:

oWordDoc = ObjOfficeAPP.Documents.Open(FileName:=strpFileName, Visible:=False)

Отладчик зависает при вызове Documents.Open () и просто остается там в ожидании - без каких-либо исключений или ошибок.Мы просмотрели журнал событий, но обнаружили только следующее:

Моя проблема в том, как настроить открытие этого документа, а не блокировку в строке при вызове Documents.Open()?

1 Ответ

0 голосов
/ 27 мая 2018

Вот несколько моментов, которые могут помочь:

  1. Не используйте свойство Application для установки свойства Visible:

    ObjOfficeAPP.Visible = True

  2. Не устанавливайте свойство DisplayAlerts перед открытием документа.

  3. Используйте System.Reflection.Missing.Value для пропущенных аргументов.

Вы можете найти полезную статью Как автоматизировать Word из Visual Basic .NET для создания нового документа , в которой объясняются необходимые шаги для автоматизации Word и предоставляется пример кода:

 'Start Word and open the document template.
 oWord = CreateObject("Word.Application")
 oWord.Visible = True
 oDoc = oWord.Documents.Add
...