espo89

Opening Element Relative ProcessBook Display From Excel

Discussion created by espo89 on Dec 16, 2010

I'm trying to open a ProcessBook display which is element relative from within some VBA code in excel.   What appears to be happening is the display opens, however the "Element Relative Display" Task pane does not, esentially giving the display no context to act on.   My ultimate goal is to open the display, set the start and end times, set the element context, then save the display back out as a graphics file (to then be loaded into some reports).  

 

Also, whenever I try and set or even display the current context of the display,  I get the standard "Object or with variable not set" showing there is actually no contexthander created for the display.

 

The function I'm using (without the context setting part) is:

 
Private Sub cmbRun_Click()      Dim PBfile As String     Dim OutputFile As String     Dim Context As String     Dim StartTime As String     Dim EndTime As String     Dim ErrorStr As String     Dim PBApp As PBObjLib.Application     Dim PBDisplay As PBObjLib.Display          ' Get input values from Sheet     PBfile = Range("C4").Value     StartTime = Range("C5").Value     EndTime = Range("C6").Value     Context = Range("C7").Value     OutputFile = Range("C8").Value          'Load ProcessBook     On Error Resume Next     Set PBApp = GetObject(, "piprocessbook.application.2")     On Error GoTo RunError     If PBApp Is Nothing Then         Set PBApp = CreateObject("piprocessbook.application.2")     End If          'Open the display     Set PBDisplay = PBApp.Displays.Open(PBfile, 1)              Call PBDisplay.SetTimeRange(StartTime, EndTime)     Call PBDisplay.SaveAs(OutputFile, pbpdFormatJPEG)          Exit Sub      RunError:     ErrorStr = "Error Number: " & Err.Number & vbCrLf     ErrorStr = ErrorStr & "Error Description: " & Err.Description     MsgBox ErrorStr, vbCritical + vbOKOnly   End Sub

 What am I missing such that the display doesn't have any context when it's opened?   Note that the display opens fine when using "File->Open" in processbook and the element Relative addin in PB is loaded at startup.  Also, the above code is able to set the time range and output to a jpg fine.

 

I've also tried using:

 
'Open the display     Set PBDisplay = PBApp.ProcBooks.Open(PBfile)

 To open the display as detailed in the Process Book ActiveX Scripting course materials (I think it's in chapter 5) and get the same results.

Outcomes