Страница 1 из 1

Многократное открытие документа Word из Excel

Добавлено: 11 мар 2008, 11:44
SaDistMan
Помогите, пожалуйста! Я сделал в excel форму с кнопкой, при нажатии которой отрывается документ в word, выдается название документа и первое слово первого абзаца. Затем документ вместе с word закрывается. Все работает… Но, при повторном запуске процедуры, то есть нажатии на кнопку выдается ошибка 462 (Удаленный сервер не существует или не доступен). Открывается документ и вываливается ошибка при любом обращению к его содержимому. В данном листинге при выполнении строки Documents(fileW).Activate . Я пишу программу, в которой нужно многократно открывать для извлечения информации один и тот же файл. Что посоветуете?

Private objWord As Word.Application
Private FlagW As Boolean
Private zu As String

Private Sub CommandButton1_Click()
Dim fileW As String
Dim re As String
Dim wordapp As Word.Application
Dim objDoc1, objDoc0 As Document

fileW = ThisWorkbook.Path & "\ball1.doc"
FlagW = False
On Error GoTo errorhandler
Set objWord = GetObject(, "word.application")
objWord.Application.DisplayAlerts = wdAlertsNone
With objWord
.Visible = True
.Documents.Open Filename:=fileW
End With
Documents(fileW).Activate
re = ActiveDocument.Name
MsgBox re
re = ActiveDocument.Paragraphs(1).Range.Words(1)
MsgBox re
'Set objWord = GetObject("word.application")

destructor
Exit Sub

errorhandler:
Select Case Err.Number
Case 429
FlagW = True
Set objWord = CreateObject("word.application")
Resume Next
Case Else
MsgBox Err.Description & " " & Err.Number, vbInformation
Exit Sub
End Select
destructor
End Sub

Private Sub destructor()
Set objDoc = objWord.ActiveDocument

objWord.ActiveDocument.Close
'If FlagW = True Then
objWord.Quit
Set objWord = Nothing
End Sub

Re: Многократное открытие документа Word из Excel

Добавлено: 11 мар 2008, 17:55
Teslenko_EA
Здравствуйте SaDistMan.
переменные и объекты Вы объявили но не использовали

Код: Выделить всё

Dim re$, wDoc As Object
re = "C:\1.doc"
FlagW = False
On Error GoTo errorhandler
Set objWord = CreateObject("word.application")
objWord.Application.DisplayAlerts = wdAlertsNone
With objWord
    .Visible = True
    Set wDoc = .Documents.Open(Filename:=fileW)
End With
re = wDoc.Name
MsgBox re
re = wDoc.Paragraphs(1).Range.Words(1)
MsgBox re
Евгений.
P.S. в VB такое объявление : Dim objDoc1, objDoc0 As Document некорректно, тип objDoc1 - Variant
при - Dim objDoc1 As Document, objDoc0 As Document, у переменных будет одинаковый тип.

Re: Многократное открытие документа Word из Excel

Добавлено: 18 мар 2008, 08:51
SaDistMan
Спасибо! Все заработало!