Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: Посетитель от 22 октября 2017, 23:44

Название: Word VBA Макросы: Проверить, открыт ли файл?
Отправлено: Посетитель от 22 октября 2017, 23:44
И у меня такой вопрос: как можно проверить, открыт ли уже файл в Word, если открываю я файлы с помощью макроса?
Название: Re: Word VBA Макросы: Проверить, открыт ли файл?
Отправлено: Администратор от 23 октября 2017, 09:16
Макрос (который ниже) проверяет, открыт ли файл в текущем экземпляре программы "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
[свернуть]
Название: Re: Word VBA Макросы: Проверить, открыт ли файл?
Отправлено: Посетитель от 23 октября 2017, 20:37
Большое спасибо!