Проблемы с поздним связыванием Excel
От: Аноним  
Дата: 23.05.05 10:11
Оценка:
Есть код :
t_ExApplication = Activator.CreateInstance(tExcelApp);
t_ExWorkbooks = t_ExApplication.GetType().InvokeMember("Workbooks",
BindingFlags.GetProperty, null, t_ExApplication, null);
o_args[0] = t_filename;
t_ExWorkbook=t_ExWorkbooks.GetType().InvokeMember("Open",
BindingFlags.InvokeMethod, null, t_ExWorkbooks, o_args);

Но код

t_ExWorkbook.GetType().InvokeMember("ExclusiveAccess",BindingFlags.InvokeMethod,
null,t_ExWorkbook,null);

вызывает ошибку "System.Runtime.InteropServices.COMException (0x800A03EC): Метод ExclusiveAccess из класса Workbook завершен неверно",
хотя при раннем связывании он работал.

Также есть проблема при передаче более одного параметра в метод : при добавлении нового листа после определенного листа

o_args[0] = null;
o_args[1] = t_ExWorksheet;
o_args[2] = 1;
o_args[3] = 1;
t_ExWorksheets.GetType().InvokeMember("Add",BindingFlags.InvokeMethod,null,t_ExWorksheets,o_args);,

возникает ошибка
System.Runtime.InteropServices.COMException (0x800A03EC): Метод Add из класса Sheets завершен неверно

Хотя без передачи параметров всё работает...
Подскажите, может кто сталкивался...

Примеры брал в хорошей статье Автор: Гасанова Р.З. "Взаимодействие Microsoft Excel с приложениями .NET. Позднее связывание"






данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Проблемы с поздним связыванием Excel
От: ershov-jan  
Дата: 25.05.05 11:39
Оценка:
Здравствуйте, alex_serge, Вы писали:

_>t_ExWorksheets.GetType().InvokeMember("Add",BindingFlags.InvokeMethod,null,t_ExWorksheets,o_args);,


_>возникает ошибка

_>System.Runtime.InteropServices.COMException (0x800A03EC): Метод Add из класса Sheets завершен неверно

_>Хотя без передачи параметров всё работает...

_>Подскажите, может кто сталкивался

мож вместо null требуется передать System.Type.Missing?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.