This example shows how to set and get the paths and file names of DraftSight system files.
'-------------------------------------------------------------- 'Preconditions: ' 1. Create a VBA macro in a software product in which VBA is ' embedded. ' 2. Copy and paste this example into the Visual Basic IDE. ' 3. Add a reference to the DraftSight type library, ' install_dir\bin\dsAutomation.dll. ' 4. Start DraftSight. ' 5 Open the Immediate window. ' 6. Run the macro. ' ' Postconditions: ' 1. The paths to the DraftSight font and support files are set. ' 2. The paths and names of the DraftSight system files are printed ' to the Immediate window. '----------------------------------------------------------------
Option Explicit
Sub main()
Dim dsApp As DraftSight.Application
Dim dsSystemFiles As DraftSight.SystemFiles
Dim setFontPaths(1) As String
Dim setSupportPaths(2) As String
Dim getFontPaths As Variant
Dim getSupportPaths As Variant
Dim i As Long
Dim arraySizeFonts As Long
Dim arraySizeSupport As Long
'Connect to DraftSight
Set dsApp = GetObject(, "DraftSight.Application")
'Abort any command currently running in DraftSight
'to avoid nested commands
dsApp.AbortRunningCommand
'Get system files interface
Set dsSystemFiles = dsApp.GetSystemFiles
'Set system files paths
setFontPaths(0) = "C:\Dassault Systemes\ProgramData\DraftSight\TextFonts"
setFontPaths(1) = "C:\Dassault Systemes\ProgramData\DraftSight\TablesFonts"
arraySizeFonts = UBound(setFontPaths)
dsSystemFiles.FontsPaths = setFontPaths
setSupportPaths(0) = "C:\Dassault Systemes\ProgramData\DraftSight\SupportPathAddins"
setSupportPaths(1) = "C:\Dassault Systemes\ProgramData\DraftSight\SupportPathCustomFiles"
setSupportPaths(2) = "C:\Dassault Systemes\ProgramData\DraftSight\DrawingFiles"
arraySizeSupport = UBound(setSupportPaths)
dsSystemFiles.supportPaths = setSupportPaths
'Get system file paths and file names
Debug.Print "System files:"
Debug.Print " Help file: " & dsSystemFiles.HelpFile
Debug.Print " Logfile path: " & dsSystemFiles.LogFilePath
Debug.Print " Dictionary file for SpellCheck: " & dsSystemFiles.MainDictionaryFile
Debug.Print " Custom dictionary file: " & dsSystemFiles.CustomDictionaryFile
Debug.Print " Location for temporary drawing files: " & dsSystemFiles.TempPath
getFontPaths = dsSystemFiles.FontsPaths
Debug.Print " Font paths: "
For i = 0 To arraySizeFonts
Debug.Print (" " & getFontPaths(i))
Next i
getSupportPaths = dsSystemFiles.supportPaths
Debug.Print " Support paths: "
For i = 0 To arraySizeSupport
Debug.Print (" " & getSupportPaths(i))
Next i
End Sub