Помогите, пожалуйста! Я сделал в 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
Многократное открытие документа Word из Excel
Модератор: Naeel Maqsudov
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте SaDistMan.
переменные и объекты Вы объявили но не использовалиЕвгений.
P.S. в VB такое объявление : Dim objDoc1, objDoc0 As Document некорректно, тип objDoc1 - Variant
при - Dim objDoc1 As Document, objDoc0 As Document, у переменных будет одинаковый тип.
переменные и объекты Вы объявили но не использовали
Код: Выделить всё
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, у переменных будет одинаковый тип.
Спасибо! Все заработало!