End Google Ads 201810 - BS.net 01 --> Hello,

I have an app that use an excel component(ocxt.com). This component have a strange behavior, which I reproduced it with Interop.Excel.

Bellow is the functions with I open and close an excel file programatically:

private ApplicationClass app = null;
private Workbook book = null;
private Worksheet sheet = null;

...

private void openExcel(string fileName)
{
if (app != null)
closeExcel();
app = new ApplicationClass();

app.Visible = false;
app.ScreenUpdating = false;
app.DisplayAlerts = false;
book = app.Workbooks.Open(fileName, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value);
sheet = (Worksheet)book.Sheets[1];
}

void closeExcel()
{
if (sheet != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);
sheet = null;
}

if (book != null)
{
book.Close(false, Missing.Value, Missing.Value);
System.Runtime.InteropServices.Marshal.ReleaseComObject(book);
book = null;
}


if (app != null)
{
app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
}
app = null;

GC.Collect();
}


If I have 2 files: 1.xls and 2.xls and 1.xls I always open with .net code, and 2.xls double clicking it. There is 2 undesired (for me) behaviors:

1. If I open first by code file 1.xls, and then try to open 2.xls from Windows Explorer, 2.xls doesn't open. It only open an inactive Excel.
2. When I close by code 1.xls, it close 2.xls too.

What I do wrong?
Thank you.