Добрый день. Как обратиться к открытому документу? Этот документ не сохранён на жёстком диске.
Вообще, принцип такой для поиска открытого файла:
Макрос
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