question

Upvotes
Accepted
488 15 14 28

Can I determine the Connection state of Eikon Excel with VBA?

eikoneikon-com-apiexcelvba
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.

Upvotes
Accepted
791 10 8 14

Yes. The PLSynchronizationMgr Library can do this. It is not contained in the PLVbaApis.bas file but the PLVbaApis.dll accommodates the Library so CreateReutersObject() can be used with the dll declared and Tools, References in the Visual Basic Editor for the PLSynchronizationMgr.dll in the Thomson Reuters Eikon installation directory.

The PLSynchronizationMgr has a Login method and a number of events including OnConnection, OnDisconnection, OnPause, OnRefresh, OnResume. It can be used in conjunction withApplication.Run "PLPaseResumeEventHandler", which toggles between Eikon for Excel/Eikon - Microsoft Office Resume Updates and Pause Updates.

#If VBA7 Then
    Private Declare PtrSafe Function CreateReutersObject Lib "PLVbaApis.dll" (ByVal progID As String) As Object
#Else
    Private Declare Function CreateReutersObject Lib "PLVbaApis.dll" (ByVal progID As String) As Object
#End If


Dim WithEvents myPLSM As PLSynchronizationMgrLib.SynchronizationMgr

Sub connectionPlay()
    Dim strConnMode As String, strConnState As String, strUpdateStatus As String
    
    Set myPLSM = CreateReutersObject("PLSynchronizationMgr.SynchroMgr")
    
    With myPLSM
        Select Case .ConnectionMode
            'PLConnectionModeTypes - 'PL_CONNECTION_MODE_NONE 0
            'PL_CONNECTION_MODE_MPLS 1, 'PL_CONNECTION_MODE_INTERNET 2
            Case 0
                strConnMode = "0 - PL_CONNECTION_MODE_NONE"
            Case 1
                strConnMode = "1 - PL_CONNECTION_MODE_MPLS"
            Case 2
                strConnMode = "2 - PL_CONNECTION_MODE_INTERNET"
        End Select
    
         Select Case .ConnectionState
            'PLConnectionStateTypes - PL_CONNECTION_STATE_NONE 0
            'PL_CONNECTION_STATE_MINIMAL 1, PL_CONNECTION_STATE_WAITING_FOR_LOGIN 2
            'PL_CONNECTION_STATE_ONLINE 3, PL_CONNECTION_STATE_OFFLINE 4
            'PL_CONNECTION_STATE_LOCAL_MODE 5
            Case 0
                strConnState = "0 - PL_CONNECTION_STATE_NONE"
            Case 1
                strConnState = "1 - PL_CONNECTION_STATE_MINIMAL"
            Case 2
                strConnState = "2 - PL_CONNECTION_STATE_WAITING_FOR_LOGIN"
            Case 3
                strConnState = "3 - PL_CONNECTION_STATE_ONLINE"
            Case 4
                strConnState = "4 - PL_CONNECTION_STATE_OFFLINE"
            Case 5
                strConnState = "5 - PL_CONNECTION_STATE_LOCAL_MODE"
        End Select
    
        Select Case .UpdatesStatus
            'PLUpdateStatusTypes - PL_UPDATES_STATUS_NONE 0
            'PL_UPDATES_STATUS_STREAMING 1, PL_UPDATES_STATUS_PAUSED 2
            Case 0
                strUpdateStatus = "0 - PL_UPDATES_STATUS_NONE"
            Case 1
                strUpdateStatus = "1 - PL_UPDATES_STATUS_STREAMING"
            Case 2
                strUpdateStatus = "2 - PL_UPDATES_STATUS_PAUSED"
        End Select
    
        MsgBox "Connection Mode: " & strConnMode & Chr(13) & _
            "Connection State: " & strConnState & Chr(13) & "Updates Status: " & strUpdateStatus


        If .ConnectionState = 2 Then
            ' If the user log in details are already set for automatic log in, this will log in EfE, OR provide the log in dialogue box otherwise.
            If MsgBox("Eikon for Excel is eready to log in. Do you want to log in?", _
                vbYesNo, "Log in to Eikon for Excel?") = vbYes Then _
                    .Login
        End If
    End With
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.

Upvotes
1 0 0 1

@DevTrev

Hi,

one question, when is this "connectionPlay" sub starting?

Will it automaticly start or do I have to call it somewhere in my code? I dont understand "withEvents" aswell. Would be nice if there is any help.

Thanks!

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.