Поделиться через


Свойство Global.ActiveDocument (Visio)

Возвращает активный объект Document , который является документом, показанным в активном окне. Только для чтения.

Синтаксис

expression. ActiveDocument

Выражение Переменная, представляющая глобальный объект.

Возвращаемое значение

Документ

Замечания

Если документы не открыты, не существует активного документа, а свойство 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 и обратная связь.