question

Upvotes
Accepted
1 1 1 2

​Can you please send me the Excel VBA code which execute a "refresh worksheet" in Excel ? (regarding the Thomson Reuters Eikon Excel data).

This is for a client, thank you for your prompt answer.

eikoneikon-com-api
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
39.3k 76 11 27

There are two sets of macros that can be used to refresh Eikon Excel worksheet functions.

PLxxxxEventHandler macros have existed since the first version of Eikon. They are asynchronous and take no arguments or parameters. The macros are behind the Refresh commands in Thomson Reuters ribbon and refresh both Eikon Excel and TF functions. The four macros are:

1 - Application.Run "PLRefreshAllEventHandler" to refresh functions in all open workbooks

2 - Application.Run "PLRefreshWorkbookEventHandler" to refresh functions in the current workbook

3 - Application.Run "PLRefreshWorksheetEventHandler" to refresh functions in the current worksheet

4 - Application.Run "PLRefreshSelectionEventHandler" to refresh functions in the selected range

From Eikon/ Eikon - Microsoft Office 4.0.23 some new Refresh macros are available, specifically to provide synchronous refresh method. These are for the power users of Eikon - Microsoft Office utilizing VBA. The Refresh commands allow for synchronous refresh to occur (one line of VBA code needs to finish executing before the next line can begin). Note they do not refresh TF functions. These new commands are:

1 - Application.Run "EikonRefreshSelection"

2 - Application.Run "EikonRefreshWorksheet"

3 - Application.Run "EikonRefreshWorkbook"

4 - Application.Run "EikonRefreshAll"

The first two (optional) parameters for all 4 macros are waitForRefresh(boolean) & timeout, e.g.

Application.Run "EikonRefreshSelection", True, 3000 or Application.Run "EikonRefreshSelection", CBool(Sheet1.Range("A1")), CLng(Sheet1.Range("A2"))

If waitForRefresh is True, code will continue after the timeout in milliseconds even if the refresh isn't done. Both parameters are optional - the waitForRefresh default is true & timeout default is 30000 (30 seconds).

1 - EikonRefreshSelection takes a third optional parameter rangeToRefresh. This is an address (short or external) of the range to refresh.

2 - EikonRefreshWorksheet takes a third optional parameter worksheetToRefresh. This is the name of the worksheet to refresh. It can be in "[Book1]Sheet1" format to refresh a sheet in a workbook that isn't in the foreground. Or just "Sheet1" which will look for the sheet in the ActiveWorkbook.

3 - EikonRefreshWorkbook takes a third optional parameter workbookToRefresh. This is the name of the workbook to refresh.

All 4 macros will return the number of functions refreshed when all completed or timed out when waitForRefresh is true.

Both sets of macros (PLxxxEventHandler and EikonRefreshxxxx) do not require any references to any dlls.

As a result, Eikon - Microsoft Office now provides one Refresh capability that will refresh all functions within a workbook that are part of both the data execution module (TR/Rdata functions) and Backwards Compatibility module (TF functions).

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.