question

Upvotes
Accepted
488 13 13 26

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

eikoneikon-com-apiexcelconnectionvba
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Upvotes
Accepted
588 10 14 17

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

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.