1

Тема: VBS: Подключиться к открытому документу Word

Необходимо средствами VBS  подключиться к открытому документу Word/
Всякие Set docWord = objWord.Documents.Open или Set docWord = objWord.Documents.Add тут не помогают, а больше по классу Documents ничего подходящего не вижу. Кто может подсказать удобное решение?

2

Re: VBS: Подключиться к открытому документу Word

Option Explicit

Dim objWord
Dim objDocument

On Error Resume Next
Set objWord = GetObject(,"Word.Application")

If Err.Number = 0 Then
    On Error Goto 0
    
    For Each objDocument In objWord.Documents
        WScript.Echo objDocument.FullName
    Next
    
    Set objWord = Nothing
Else
    Err.Clear
    On Error Goto 0
End If

WScript.Quit 0

Если имя документа известно заранее:

Option Explicit

Dim strFullName
Dim objDocument


strFullName = "c:\Temp\Bla-bla-bla.doc"

On Error Resume Next
Set objDocument = GetObject(strFullName)

If Err.Number = 0 Then
    On Error Goto 0
    
    WScript.Echo objDocument.Range.Text
    
    Set objDocument = Nothing
Else
    Err.Clear
    On Error Goto 0
End If

WScript.Quit 0

3

Re: VBS: Подключиться к открытому документу Word

Вот. Спасибо большое, все работает.
On Error Goto 0 , я так понимаю, в случае ошибки запускает код сначала.
а Err.Number = 0 это типа кода ошибки, как Errorlevel в АНК.
Только как при ошибке, равной нулю, может выполняться On Error Goto 0 ?
Я так понял, приведен универсальный код для работы в условиях, предполагающих кучу ошибок, но до конца все равно непонятно...

4

Re: VBS: Подключиться к открытому документу Word

On Error Goto 0 , я так понимаю, в случае ошибки запускает код сначала.

Нет. Эта инструкция восстанавливает «умолчальный» обработчик ошибок, что сводится к прерыванию работы скрипта в случае возникновения ошибки и выводу сообщения об ошибке.