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