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


Метод Window.DockedStencils (Visio)

Возвращает имена всех наборов элементов, закрепленных в окне документа Microsoft Visio.

Синтаксис

выражение. DockedStencils( _NameArray()_ )

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
NameArray() Обязательный String Параметр Out. Массив, получающий имена наборов элементов, закрепленных в окне.

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

Отсутствует

Примечания

Метод DockedStencils возвращает массив строк — имена наборов элементов, отображаемые в закрепленных панелях элементов окна. Если окно является окном рисования, количество закрепленных панелей элементов ( n ) равно или больше нуля, а n — нулю, если окно не является окном рисования.

Если метод DockedStencils выполняется успешно, NameArray() возвращает одномерный массив из n строк, индексированных от нуля (0) до n – 1. Параметр NameArray() — это параметр out, выделенный методом DockedStencils , владение которым передается вызывающей стороне. В конечном итоге вызывающий объект должен выполнить процедуру SafeArrayDe в возвращаемом массиве. Обратите внимание, что процедура SafeArrayDestroy имеет побочный эффект освобождения строк, на которые ссылаются записи массива. Метод DockedStencils завершается ошибкой , если nameArray() имеет значение NULL. (Microsoft Visual Basic и Visual Basic для приложений позаботятся об уничтожении массива за вас.)

Если strStencilName является строкой, возвращаемой NameArray(StencilName),documents.Item ( strStencilName) выполняется успешно и возвращает объект Document , представляющий набор элементов.

Пример

В следующем макросе Microsoft Visual Basic для приложений показано, как использовать метод DockedStencils для получения имен документов всех наборов элементов, закрепленных в активном окне. Он также выводит в окне Интерпретация имя активного документа, а также нижние и верхние границы массива, в котором содержатся имена наборов элементов, а затем перечисляет имена наборов элементов и пути, также в окне Интерпретация.

 
Public Sub DockedStencils_Example() 
 
 Dim astrStencilNames() As String 
 ActiveWindow.DockedStencils astrStencilNames 
 
 Dim intLowerBound As Integer 
 Dim intUpperBound As Integer 
 Dim intIndex As Integer 
 
 intLowerBound = LBound(astrStencilNames) 
 intUpperBound = UBound(astrStencilNames) 
 Debug.Print "Active document: " ActiveWindow.Document; " Lower bound:"; intLowerBound; " Upper Bound:"; intUpperBound 
 
 intIndex = intLowerBound 
 While intIndex <= intUpperBound 
 Debug.Print astrStencilNames(intIndex) 
 intIndex = intIndex + 1 
 Wend 
 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.