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

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

Синтаксис

выражение. Пути набора элементов

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

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

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