Свойство InvisibleApp.StencilPaths (Visio)

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

Синтаксис

expression. StencilPaths

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

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

String

Замечания

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