The answer is yes, and there are two sets of macros to facilitate this.
PLxxxxEventHandler 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
The above commands are executed asynchronously.
The following Refresh commands allow for a 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:
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 above 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.