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


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

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

Синтаксис

expression. ActiveDocument

выражение: переменная, представляющая объект Application.

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

Документ

Замечания

Если документы не открыты, не существует активного документа, а свойство ActiveDocument возвращает значение Nothing и не создает исключение.

Если код находится в проекте Microsoft Visual Basic документа Visio, свойство ActiveDocument часто, но не обязательно, возвращает ссылку на объект ThisDocument , модуль класса в проекте Visual Basic каждого документа Microsoft Visio. Если объект ThisDocument отображается в активном окне, то объект ActiveDocument и объект ThisDocument ссылаются на один и тот же документ. Когда на объект ThisDocument ссылаются из кода в проекте, он возвращает ссылку на объект Document проекта.

Использование объекта ActiveDocument или Объекта ThisDocument зависит от назначения кода.

Вы можете сравнить результат, возвращаемый свойством ActiveDocument , со значением Nothing , чтобы определить, активен ли документ. Если значение свойства Documents.Count больше нуля, по крайней мере один документ открыт и активен.

Если решение Visual Studio содержит ссылку microsoft.Office.Interop.Visio , это свойство сопоставляется со следующими типами:

  • Microsoft.Office.Interop.Visio.IVApplication.ActiveDocument

Пример

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