Share via


TemplatePaths Property [Visio 2003 SDK Documentation]

Gets or sets the paths where Microsoft Office Visio looks for templates.

strRet = object**.TemplatePaths**

object**.TemplatePaths** = pathsStr

strRet     String. A text string containing a list of folders.

object     Required. An expression that returns an Application object.

pathsStr     Required String. A text string containing a list of folders. To indicate more than one folder, use semicolons to separate individual items in the path string.

Version added

4.0

Remarks

The TemplatePaths property is set to an empty string ("") by default.

The string passed to and received from the TemplatePaths property is the same string shown in the File Paths dialog box. (On the Tools menu, click Options, click the Advanced tab, and then click File Paths.) This string is stored in the HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Visio\Application\TemplatePath subkey.

When Visio looks for templates, it looks in all paths named in the TemplatePaths property and all the subfolders of those paths. If you pass the TemplatePaths property to the EnumDirectories method, it returns a complete list of fully qualified paths in the folders passed in.

Setting the TemplatePaths property replaces existing values for TemplatePaths in the File Paths dialog box. To retain existing values, get the existing string and then append the new file path to that string, as shown in the following code:

Application.TemplatePaths = Application.TemplatePaths & ";" & "newpath".

Note  Modifying the egistry in any manner, whether through the Registry Editor or programmatically, always carries some degree of risk. Incorrect modification can cause serious problems that may require you to reinstall your operating system. It is a good practice to always back up a computer's registry first before modifying it. If you are running Microsoft Windows NT or Microsoft Windows 2000, you should also update your Emergency Repair Disk (ERD).

Example

This Microsoft Visual Basic for Applications (VBA) macro shows how to use the TemplatePaths property to add a path to the Templates paths box.

Public Sub TemplatePaths_Example() 

    Dim strMessage As String
    Dim strNewPath As String
    Dim strTemplatePath As String
    Dim strTitle As String
    
    'Get the path we want to add. 
    strTemplatePath = Application.TemplatePaths 
    strTitle = "TemplatePaths" 
    strMessage = "The current content of the Visio Templates path box is:" 
    strMessage = strMessage & vbCrLf & strTemplatePath 
    MsgBox strMessage, vbInformation + vbOKOnly, strTitle 
    strMessage = "Type in an additional path for Visio to look for templates. " 
    strNewPath = InputBox$(strMessage, strTitle) 

    'Make sure the folder exists and that it's not
    'already in the Templates path box. 
    strMessage = "" 
    If strNewPath = ""  Then
        strMessage = "You did not enter a path."
        ElseIf InStr(strTemplatePath, strNewPath)  Then
            strMessage = "The path you specified is already in the Templates path box." 
        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.TemplatePaths = strTemplatePath & ";" & strNewPath 
            strMessage = "We just added " & strNewPath & _ 
                " to the tTemplates path box." 
    End If
  
    If strMessage <> ""  Then
        MsgBox strMessage, vbExclamation + vbOKOnly, strTitle 
    End If 
 
End Sub

Applies to | Application object | InvisibleApp object

See Also | AddonPaths property | DrawingPaths property | EnumDirectories method | HelpPaths property | Path property | StartupPaths property | StencilPaths property