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 IfDim WithEvents myPLSM As PLSynchronizationMgrLib.SynchronizationMgrSub 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 WithEnd Sub
@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!