I use this version with invoke to open read only:
name = ExecWithTimeout(Timeout, ""Open Workbook"",
Function()
Dim instance = GetInstance(handle)
Dim workbooks As object = GetProperty(instance, ""Workbooks"")
Dim wb As Object = Invoke(workbooks, ""Open"", filename, 0, True)
Invoke(wb, ""Activate"")
Return wb.Name
End Function)
https://msdn.microsoft.com/en-gb/vba/excel-vba/articles/workbooks-open-…
Second parameter is UpdateLinks, you'd want 0 or 2 most likely:
The help file defines the values as:
0 Doesn't update any references
1 Updates external references but not remote references
2 Updates remote references but not external references
3 Updates both remote and external references
Third one is ReadOnly boolean
Some might find other parameters useful too...