Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает активный объект Document , который является документом, отображаемым в активном окне. Только для чтения.
Синтаксис
выражение. ActiveDocument
выражение Переменная, представляющая объект Global .
Возвращаемое значение
Документ
Примечания
Если нет открытых документов, активный документ отсутствует, а свойство ActiveDocument возвращает значение Nothing и не создает исключения.
Если код находится в проекте Microsoft Visual Basic документа Visio, свойство ActiveDocument часто, но не обязательно, возвращает ссылку на объект ThisDocument , модуль класса в проекте Visual Basic каждого документа Microsoft Visio. Если объект ThisDocument отображается в активном окне, объекты ActiveDocument и ThisDocument ссылаются на один и тот же документ. Когда на объект ThisDocument ссылаются из кода проекта, он возвращает ссылку на объект Document проекта.
Использование объекта ActiveDocument или объекта ThisDocument зависит от назначения кода.
Вы можете сравнить результат, возвращаемый свойством ActiveDocument , со значением Nothing , чтобы определить, активен ли документ. Если значение свойства Application.Documents.Count больше нуля, то по крайней мере один документ открыт и активен.
Пример
В следующем макросе Microsoft Visual Basic для приложений (VBA) показаны два безопасных способа получить активный документ (если он существует). В каждом случае имя активного документа печатается в окне интерпретации. Код получает активный документ без ограничений из глобального объекта Visio, который автоматически доступен для кода VBA, который является частью проекта VBA документа Visio.
Public Sub ActiveDocument_Example()
Dim vsoDocument As Document
'First method
If Documents.Count > 0 Then
Set vsoDocument = ActiveDocument
Debug.Print vsoDocument.Name
Else
Debug.Print "No active document."
End If
'Second method
If Not(ActiveDocument Is Nothing) Then
Set vsoDocument = ActiveDocument
Debug.Print vsoDocument.Name
Else
Debug.Print "No active document."
End If
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.