Can I change the Pause and Play mode of Eikon Excel using VBA?

Can I change the Pause and Play mode of Eikon Excel using VBA?

Best Answer

  • Bondy_Bo
    Answer ✓

    Yes. A 'quick and dirty' way of doing so is to use the Eikon for Excel/Eikon - Microsoft Office application caption to determine the current state and then use Application.Run "PLPaseResumeEventHandler" in code to change from on to the other

    Sub PauseResumeEventHandler()
    ' NOTE - when the status of Eikon for Excel is changed, Excel's caption flashes three times indicating the status change, over 2-3 seconds. If you run this macro quickly, successively, the caption may not have had time to change to reflect the current Eikon for Excel status.

    Dim strXlCaption As String, strOnline As String, strDisconnected As String, _
    strPausedStart As String, strPaused As String, strXL As String, strOutput As String
    Dim n As Integer, intTest As Integer

    strXlCaption = Application.Caption

    'The strings below are for Eikon 4.0.3, chack and change for other Eikon versions.
    strOnline = "Thomson Reuters Eikon is online"
    strDisconnected = "Thomson Reuters Eikon is disconnected"
    strPausedStart = "Thomson Reuters Eikon started on pause mode"
    strPaused = "Thomson Reuters Eikon is paused"
    strXL = "Microsoft Excel"

    On Error GoTo errhandler
    n = 2
    intTest = IsNumeric(Application.WorksheetFunction.Find(strOnline, strXlCaption))
    strOutput = "Online": GoTo outro
    2:
    n = 3
    intTest = IsNumeric(Application.WorksheetFunction.Find(strDisconnected, strXlCaption))
    strOutput = "Disconnected": GoTo outro
    3:
    n = 4
    intTest = IsNumeric(Application.WorksheetFunction.Find(strPausedStart, strXlCaption))
    strOutput = "PausedStart": GoTo outro
    4:
    n = 5
    intTest = IsNumeric(Application.WorksheetFunction.Find(strPaused, strXlCaption))
    strOutput = "Paused": GoTo outro
    5:
    n = 6
    intTest = IsNumeric(Application.WorksheetFunction.Find(strXL, strXlCaption))
    strOutput = "XL": GoTo outro
    6:
    strOutput = "Unknown"


    outro:

    Select Case strOutput
    Case "Online"
    MsgBox "Eikon for Excel updates are real time. Now PAUSING real time updates.", vbOKOnly, "Efe Update mode"
    Case "Disconnected"
    MsgBox "Eikon for Excel is disconnected. Please sign in you wish to use Eikon for Excel.", vbOKOnly, "Efe Update mode"
    End
    Case "PausedStart"
    MsgBox "Eikon for Excel has been started on pause mode. Now switching ON.", vbOKOnly, "Efe Update mode"
    Case "Paused"
    MsgBox "Eikon for Excel updates are paused. Now switching ON.", vbOKOnly, "Efe Update mode"
    Case "XL"
    MsgBox "Eikon for Excel is potentially disconnected or updates are real time. Now PAUSING if updates are real time.", vbOKOnly, "Efe Update mode"
    Case "Unknown"
    MsgBox "Unable to determine Eikon for Excel state. No action performed", vbOKOnly, "Efe Update mode"
    End
    Case Else
    MsgBox "Unable to determine Eikon for Excel state. No action performed", vbOKOnly, "Efe Update mode"
    End
    End Select

    Application.Run "PLPauseResumeEventHandler"
    Exit Sub

    errhandler:
    Select Case n
    Case 2
    Resume 2:
    Case 3
    Resume 3:
    Case 4
    Resume 4:
    Case 5
    Resume 5:
    Case 6
    Resume 6:
    End Select
    End Sub