VBA force login if not logged already on, and to resume updates if paused

Hi!



I would
like to automatize an Excel, to open up and refreshing some quotes,
saving it, and closing the file. Now this my VBA manages. This works perfectly
when I’m signed in.

But sometimes I am not signed in (for
any reason), and then the VBA stops mid-air. I tried already googling and found
one guideline(see below), but I cannot manage to get it to work.

https://developers.thomsonreuters.com/eikon-com/%E2%80%9Ceikon-microsoft-office%E2%80%9D-apis/learning?content=4572&type=learning_material_item

Can someone help me? What am I doing
wrong?

I copied the line and enabled Automatic
Login:

CreateReutersObject code

Public
Function CreateSynchronizationMgr() As
PLSynchronizationMgrLib.SynchronizationMgr

Set CreateSynchronizationMgr =
CreateReutersObject("PLSynchronizationMgr.SynchroMgr")

End Function---------------------------------------------------------

I assume I need this VBA, but I
cannot run it in my Workbook (even though I have taken the same “PLVbaApis”
module to my Project.

-----------------------------------------------------

#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

' Synchronization Manager - added
manually, not in original PlVbaApis.bas.

Public Function
CreateSynchronizationMgr() As PLSynchronizationMgrLib.SynchronizationMgr


Set CreateSynchronizationMgr =
CreateReutersObject("PLSynchronizationMgr.SynchroMgr")

End Function

Private Sub cmdLogIn_Click()


Dim strConnState As String


If myPLSM Is Nothing Then Set myPLSM = CreateSynchronizationMgr()


With myPLSM

Select Case .ConnectionState

'PLConnectionStateType

'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

MsgBox "Connection State: "
& strConnState

If .ConnectionState = 2 Or .ConnectionState
= 4 Then

'' Two ways of logging in
programmatically.

'' 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.

'.Login

Application.Run
"PLLoginEventHandler"

End If


End With

End Sub



Reuters Eikon MS Office version 4.0.34563

MS Offic Version 2010 Microsofr Office System, MSO (14.0.7166.5000)

Windows 7 Enterprise 64-Bit

Best Answer

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭
    Answer ✓

    Hi @AndreasT,

    I suggest rather than copying & pasting VBA code from the Web page into your project you take a look at the example spreadsheet included with the tutorial you mentioned. You can download this example spreadsheet following the link at the top of the tutorial:

    Click here to download

Answers

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭

    This question is about Eikon COM libraries for use in MS Office, not about Eikon App Studio. I moved the question to Eikon COM category.