Home → Guides :: Symphony Profiler → Software Development Kit → Automating Symphony Profiler Workstation
Automation capabilities were added to Symphony Profiler Workstation in version 1.0.4.31
Right now, automation allows a caller to display the Symphony Create Reservation dialog, providing default values for the various aspects of the Worldox index card dialog.
Automation is exposed via standard Windows COM capabilities. The type library for accessing the automation is titled 'Symphony Profiler Workstation Type Library' (if you wish to use early binding), or via CreateObject calls against the SymphonyProfiler4WD namespace.
This functionality is still fairly new, and we are very open to extending it and our documentation - if you are a developer and would like more information, please open a support ticket by emailing support@trumpetinc.com
Here is example code that demonstrates how to invoke the automation:
' This example uses late binding. You can also use early binding by including
' a reference to "Symphony Profiler Workstation Type Library" in your project
Public Sub exerciseShowReservationDialog()
   ' first, set up a WDReservationInfo object with the default values you want the Save As dialog to display
   ' if you want to use the user's defaults, just create the info object and don't populate it
   Dim info As Object
   Set info = CreateObject("SymphonyProfiler4WD.WDReservationInfo")
   ' Due to the vagaries of the Worldox API, the PG # you need to specify here is one more than
   ' the number that appears in wdadmin - so the following entry refers to PG 20 as displayed in wdadmin
   info.pgid = 21
   info.Description = "test desc"
   info.field1 = "code1"
   info.field2 = "code2"
   info.field3 = "code3"
   info.field4 = "code4"
   info.field5 = "code5"
   info.field6 = "code6"
   info.field7 = "*WDUSER"
   ' Next, connect to the Symphony Profiler 4 WD application
   Dim app As Object
   Set app = CreateObject("SymphonyProfiler4WD.Application")
   ' Then request that it show the reservation dialog, with the default save as dialog values specified
   ' Info - specifies the values that the Worldox profile should be pre-populated with
   ' Flags - optional parameter - 0 by default
   ' 0 - Another and Another Similar buttons will operate as normal
   ' 1 - Suppress Another Buttons - the Another and Another Similar buttons will be suppressed
   Dim rslt As Long
   rslt = app.ShowReservationDialog(info, 1)
   ' Handle the return code
   ' 1 = OK pressed
   ' 2 = Cancel pressed
   If (rslt <> 2) Then
       Debug.Print "PG = " & info.pgid
       Debug.Print "Path = " & info.Path ' path is Read Only, set to the path of the XPF file after the reservation is created
       Debug.Print "Field1 = " & info.field1
       Debug.Print "Field2 = " & info.field2
       Debug.Print "Field3 = " & info.field3
       Debug.Print "Field4 = " & info.field4
       Debug.Print "Field5 = " & info.field5
       Debug.Print "Field6 = " & info.field6
       Debug.Print "Field7 = " & info.field7
       Debug.Print "Description = " & info.Description
   Else
       Debug.Print "Canceled"
   End If
End Sub