SetProjectFilePath Method (ActiveX)

Sets the directory in which AutoCAD looks for external reference files.

Supported platforms: Windows only

Signature

VBA:

object.SetProjectFilePath ProjectName, ProjectFilePath
object

Type: PreferencesFiles

The object this method applies to.

ProjectName

Access: Input-only

Type: String

The name of the project. This name is also controlled by the PROJECTNAME system variable.

ProjectFilePath

Access: Input-only

Type: String

The directory in which AutoCAD looks for external reference files.

Return Value (RetVal)

No return value.

Remarks

No additional remarks.

Examples

VBA:

Sub Example_SetProjectFilePath()
    ' This example finds the current project file information, changes
    ' that information, and finally resets the information back to the
    ' original values.
    
    Dim preferences As AcadPreferences
    Set preferences = ThisDrawing.Application.preferences
    
    ' Get the current project file information
    Dim currProjPath As String
    Dim currProjName As Variant
    currProjName = ThisDrawing.GetVariable("PROJECTNAME")
    If currProjName <> "" Then
        currProjPath = preferences.GetProjectFilePath(currProjName)
    End If
    If currProjPath = "" Then
        MsgBox "There is no current project file or path. ", , "SetProjectFilePath Example"
    Else
        MsgBox "The current project file path is: " & currProjPath, , "SetProjectFilePath Example"
        ' Set new project file information.
        ' Change drive/path as necessary to match your system
        Dim newProjPath As String
        newProjPath = "C:/AutoCAD/"
        
        preferences.SetProjectFilePath currProjName, newProjPath
        MsgBox "The new project file path is: " & newProjPath, , "GetProjectFilePath Example"
        
        ' Reset the project file information
        preferences.SetProjectFilePath currProjName, currProjPath
        MsgBox "The project file path has been reset to: " & currProjPath, , "GetProjectFilePath Example"
    End If
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_SetProjectFilePath()
    ;; This example finds the current project file information, changes
    ;; that information, and finally resets the information back to the
    ;; original values.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq preferences (vla-get-Preferences acadObj))

    ;; Get the current project file information
    (setq currProjName (vlax-variant-value (vla-GetVariable doc "PROJECTNAME")))
    (if (/= currProjName "")
        (setq currProjPath (vla-GetProjectFilePath (vla-get-Files preferences) currProjName))
        (setq currProjPath "")
    )
    (if (= currProjPath "")
        (alert "There is no current project file or path. ")
        (progn
	           (alert (strcat "The current project file path is: " currProjPath))

            ;; Set new project file information.
            ;; Change drive/path as necessary to match your system
            (setq newProjPath "C:/AutoCAD/")

            (vla-SetProjectFilePath (vla-get-Files preferences) currProjName newProjPath)
            (alert (strcat "The new project file path is: " newProjPath))

            ;; Reset the project file information
            (vla-SetProjectFilePath (vla-get-Files preferences) currProjName currProjPath)
            (alert (strcat "The project file path has been reset to: " currProjPath))
        )
    )
)