Свойство Application.StencilPaths (Visio)
Возвращает или задает пути, по которому Microsoft Visio ищет наборы элементов. Для чтения и записи.
Синтаксис
expression. StencilPaths
выражение: переменная, представляющая объект Application.
Возвращаемое значение
Строка
Замечания
Свойство StencilPaths по умолчанию имеет пустую строку ("").
Строка, переданная и полученная из свойства StencilPaths , является той же строкой, что и в диалоговом окне Расположение файлов . (Перейдите на вкладку Файл , выберите пункт Параметры, Дополнительно, а затем в разделе Общие выберите пункт Расположение файлов.) Эта строка хранится в подразделе HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Visio\Application\StencilPath .
Когда Visio ищет наборы элементов, он выполняет поиск по всем путям, указанным в свойстве StencilPaths , и во всех вложенных папках этих путей. Если передать свойство StencilPathsметоду EnumDirectories , он возвращает полный список полных путей в переданных папках.
Задание свойства StencilPaths заменяет существующие значения для наборов элементов в диалоговом окне Расположение файлов . Чтобы сохранить существующие значения, получите существующую строку, а затем добавьте в нее новый путь к файлу, как показано в следующем коде:
Application.StencilPaths = Application.StencilPaths & ";" & "newpath ".
Предупреждение
Изменение реестра Windows любым способом, будь то в редакторе реестра или программным способом, всегда сопряжено с определенной степенью риска. Неправильное изменение может привести к серьезным проблемам, для устранения которых может потребоваться переустановка операционной системы. Рекомендуется всегда создавать резервную копию реестра компьютера перед его изменением.
Пример
Этот макрос Microsoft Visual Basic для приложений (VBA) показывает, как с помощью свойства StencilPaths добавить путь к набору элементов.
Public Sub ShowStencilPaths_Example()
Dim strMessage As String
Dim strNewPath As String
Dim strStencilPath As String
Dim strTitle As String
'Get the path we want to add.
strStencilPath = Application.StencilPaths
strTitle = "StencilPaths"
strMessage = "The current content of the Visio Stencils box is:"
strMessage = strMessage & vbCrLf & strStencilPath
MsgBox strMessage, vbInformation + vbOKOnly, strTitle
strMessage = "Type in an additional path for Visio to look for stencils. "
strNewPath = InputBox$(strMessage, strTitle)
'Make sure the folder exists and that it's not
'already in the stencil paths.
strMessage = ""
If strNewPath = "" Then
strMessage = "You did not enter a path."
ElseIf InStr(strStencilPath, strNewPath) Then
strMessage = "The path you specified is already in the stencil paths."
ElseIf Len(Dir$(strNewPath, vbDirectory)) = 0 And _
Len(Dir$(Application.Path & strNewPath, _
vbDirectory)) = 0 Then
strMessage = "The folder you typed does not exist (or is blank)."
Else
Application.StencilPaths = strStencilPath & ";" & strNewPath
strMessage = "We just added " & strNewPath & _
" to the stencil paths."
End If
If strMessage <> "" Then
MsgBox strMessage, vbExclamation + vbOKOnly, strTitle
End If
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.