When I run the following code, I get the exception below:
''# NOTE: ExcelApp is a Private main form variable
Dim ReportBooks As Excel.Workbooks = ExcelApp.Workbooks
Dim ReportBook As Excel.Workbook = ReportBooks.Open(localFilename)
Dim ReportSheet As Excel.Worksheet = ReportBook.Sheets("Report")
''# Retreive data from sheet
ReleaseCOM(ReportSheet)
ReportBook.Close(True) ''# Error raised here
ReleaseCOM(ReportBook)
ReleaseCOM(ReportBooks)
ERROR: COMException was unhandled The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))
Note: All data appears to have been retreived correctly.
Please help me diagnose and overcome this error.
Several things might potentially cause Excel not close on demand. For instance, a lack of RAM could be the culprit or perhaps having too many applications open at once, which places a heavy load on the processor in your computer. So, close all other applications first, and then attempt to close Excel again.
Do one of the following: In the upper-right corner of the Excel window, click Close. . On the File tab, click Exit.
Closing a workbook frees up more computer memory for other activities. Closing a workbook is different from exiting, or quitting, Excel; after you close a workbook, Excel is still running. You close a workbook by using the Close command on the File tab (New!), which keeps the Excel program window open.
RPC_DISCONNECTED...the dreaded "The object invoked has disconnected from its clients." issue. There are a ton of causes to this, looks like you've covered the global variables issue with Excel.. Can you put the first ReleaseCOM(ReportSheet) below ReportBook(Close) and run it? Also, check out this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With