Показать сообщение отдельно
Старый 02.12.2003, 20:02   #1  
skvach is offline
skvach
Участник
 
4 / 10 (1) +
Регистрация: 02.12.2003
Angry COM и работа с шаблонами Excel
дописываю обертку COM для Excel (SysExcel и его потомки не включают всю необходимую функциональность):

COM COMApplication
COM COMSheets
COM COMSheetSRC,
COM COMSheetDST
COM COMRangeSRC;
COM COMRangeDST;
COM COMRangeRows
COM COMRangeCols
COM COMRangeRowCount;
COM COMRangeColCount;

ComVariant a;

COMapplication=excel.comObject(); //это родной, из SysExcel
COMSheets=COMApplication.Worksheets();
COMSheetSRC=COMSheets.Item(2);
COMSheetDST=COMSheets.Item(1);
COMrangeSRC=COMSheetSRC.Usedrange();
COMrangeDST=COMSheetDST.Usedrange();
COMrangeRows=COMrangeDST.Rows();
COMrangeCols=COMrangeDST.Columns();
COMrangeColCount=COMRangeCols.Count();



a=COMVariant::createFromCOM(COMRangeColCount);

Компилятор молчит,а уже при вызове метода инициализировать A не удается, сообщение об ошибке: Неправильные типы аргументов в операции присвоения значения. Что не в порядке?

дальше должно быть вот что:

a.int(-a.int()+1);
COMRangeDST=COMRangeDST.Offset(COMRangeRows.Count(), a);

но не уверен, что и тут не будет ошибки приведения типов

как правильно получить значение из свойства COM-объекта, привести его к какому-нибудь типу (int или строка, например), проделать над ним операции и затем снова передать в качестве параметра методу COM-объекта?