Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: siv14 от 14 сентября 2017, 10:24

Название: Word VBA Макросы: Как обратиться к открытому несохранённому документу
Отправлено: siv14 от 14 сентября 2017, 10:24
Добрый день. Как обратиться к открытому документу? Этот документ не сохранён на жёстком диске.
Название: Re: Word VBA Макросы: Как обратиться к открытому несохранённому документу
Отправлено: Администратор от 14 сентября 2017, 10:35
Вообще, принцип такой для поиска открытого файла:
Макрос
Sub макрос()

    Dim DocNew As Document
   
    ' Цикл по всем открытым файлам.
    For Each DocNew In Documents
        ' Если это нужный файл, то выход из цикла, а файлу будет присвоено имя "DocNew".
        ' Если нужного файла нет, то в переменной "DocNew" будет "Nothing".
    Next DocNew

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

Если известно имя файла, то можно обратиться по имени. Только нужно указывать и путь и имя, т.к. в ворде может быть открыто несколько файлов с одинаковым именем и вы можете обратиться не к тому файлу.
Если файл не сохранён на диске, то тогда нужно просто указать имя без расширения.

Sub макрос()
    Dim DocNew As Document
    Set DocNew = Documents("Документ1")
End Sub

Получение доступа к несохранённому (на диске) открытому файлу:
Макрос
Sub макрос()

    Dim DocNew As Document
   
    ' Цикл по всем открытым ворд-файлам.
    For Each DocNew In Documents
        ' Если файл не сохранённ на диске.
        If DocNew.path = "" Then
            ' Выход из цикла. При этом файлу будет присвоено имя "DocNew",
                ' с помощью этого имени можно обращаться к файлу.
            Exit For
        End If
    Next DocNew
   
    ' Проверка, что есть нужный файл.
    If DocNew Is Nothing Then
        MsgBox "Нет открытого несохранённого (на диске) ворд-файла.", vbExclamation
        Exit Sub
    End If
   
    ' Здесь делайте действия с файлом, используя переменную "DocNew".
        ' Просто ставьте точку после этого имени и выбирайте нужные члены.
   
End Sub
[свернуть]
Название: Re: Word VBA Макросы: Как обратиться к открытому несохранённому документу
Отправлено: siv14 от 14 сентября 2017, 10:38
Спасибо большое.