Word VBA Макросы: Проверить, открыт ли файл?

Автор Посетитель, 22 октября 2017, 23:44

Посетитель

И у меня такой вопрос: как можно проверить, открыт ли уже файл в Word, если открываю я файлы с помощью макроса?

Администратор

Макрос (который ниже) проверяет, открыт ли файл в текущем экземпляре программы "Word". Можно открыть несколько независимых программ "Word". Кроме того, ворд-файл может быть открыт, наверное, какой-нибудь другой программой.
Данный макрос учитывает только ситуацию, если файл может быть открыт в текущем экземпляре программы "Word".

Макрос
Sub макрос()
   
    Dim doc As Document
   
   
    ' Включение перехватчика run-ошибок, чтобы макрос продолжил работу при возникновении
        ' run-ошибки.
    On Error Resume Next
        ' Присваиваем файлу имя "doc". Если файл не открыт, то в переменной "doc" будет Nothing.
        Set doc = Documents("C:\Users\User\Desktop\Документ Microsoft Word.docx")
    ' Отключение перехватчика ошибок, чтобы видеть непредвиденные ошибки.
    On Error GoTo 0
   
    ' Проверка, открыт файл или нет.
    If doc Is Nothing Then
        MsgBox "Файл не открыт.", vbInformation
    Else
        MsgBox "Файл открыт.", vbInformation
    End If

End Sub
[свернуть]

Посетитель