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

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

Синтаксис

выражение. 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 и обратная связь.