ok Jeff, Im stuck again. I got this far
Type excelType = Type.GetTypeFromProgID("Excel.Application");
object exl = Activator.CreateInstance(excelType);
object wb = exl.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, exl, null);
wb.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null, wb, new object[] { strMyFile });
object[] param = new Object[1];
param[0] = true;
exl.GetType().InvokeMember("Visible", BindingFlags.SetProperty, null, exl, param);
param[0] = false;
exl.GetType().InvokeMember("UserControl", BindingFlags.SetProperty, null, exl, param);
param[0] = "Sheet1";
object ws = exl.GetType().InvokeMember("Sheets", BindingFlags.GetProperty, null, exl, param);
object rng = exl.GetType().GetProperty("Range", BindingFlags.SetProperty, null, null );
but I cant seem to create or set a Range object. I have tried every BindingFlags prop I can think might work.
I also tried ws.GetType, but that didn't work either