To post to this group, send email to exc...@googlegroups.com.
The main issue is getting the sheet name information from the ExcelReference.
The ExcelReference contains a SheetId, which is an opaque pointer (or handle) to Excel’s internal sheet data structure.
The most direct way to get from a SheetId to the Workbook and Worksheet information is to use the xlSheetNm function (https://msdn.microsoft.com/en-us/library/office/bb687895.aspx):
XlCall.Excel(xlSheetNm, reference)
Perhaps the xlSheetNm call is safe to make from the COM context, and that would solve your problem (you can easily build up the Range address string from there, using the rest of the ExcelReference information). There is some hope, since I’m pretty sure the function is thread-safe (for use in thread-safe UDF calculations). You’ll have to test whether it works better than xlfReftext in your context.
If xlSheetNm doesn’t work in the VBA / COM call context either, then you’ll have to manage it some other way.
-Govert
To post to this group, send email to exce...@googlegroups.com.