Belldandy Гость
|
Добавлено: Сб Дек 01 2001 19:04 Заголовок сообщения: OLE-сервер (Excel), C++ Builder. Больной: Доктор, когда я рукой пытаюсь достать до лопатки, а ногу поднимаю вот так, у меня поя |
|
|
Пытаемся вызвать вот так (сохранение под именем FileName). TVariantInParam FileName="c:\\tmp.xls"; ExcelWorkbook1-SaveAs(FileName, TNoParam(), TNoParam(), TNoParam(), TNoParam(), TNoParam(), AccessMode, TNoParam(), TNoParam(), TNoParam(), TNoParam(), 0); Работает. Хотя, вполне может быть (и наверняка так и есть )), что я что-то неправильно написал, но всё же работает.
А теперь вот так (поиск на листе What) TVariantInParam What="1"; ExcelWorksheet1-Cells-Find(What, TNoParam(), TNoParam(), TNoParam(), TNoParam(), xlNext, TNoParam(), TNoParam(), TNoParam(), TNoParam(), TNoParam(), TNoParam())-Activate(); При компиляции выдается ошибка: [C++ Error] utilcls.h(2334): E2031 Cannot cast from 'const TBaseVariantT' to 'TVariant &'
В excel_97.h находим: void __fastcall SaveAs( BSTR Filename/*[in]*/, TVariantInParam FileFormat/*[in,opt]*/=TNoParam(), TVariantInParam Password/*[in,opt]*/=TNoParam(), TVariantInParam WriteResPassword/*[in,opt]*/=TNoParam(), TVariantInParam ReadOnlyRecommended/*[in,opt]*/=TNoParam(), TVariantInParam CreateBackup/*[in,opt]*/=TNoParam(), TVariantInParam AddToMru/*[in,opt]*/=TNoParam(), TVariantInParam TextCodepage/*[in,opt]*/=TNoParam(), TVariantInParam TextVisualLayout/*[in,opt]*/=TNoParam(), long lcid/*[in]*/=TDefLCID())
Excel_97::RangePtr /*[VT_USERDEFINED:1]*/ __fastcall Find( TVariantInParam What/*[in]*/, TVariantInParam After/*[in,opt]*/, TVariantInParam LookIn/*[in,opt]*/, TVariantInParam LookAt/*[in,opt]*/, TVariantInParam SearchOrder/*[in,opt]*/, Excel_97::XlSearchDirection SearchDirection, TVariantInParam MatchCase/*[in,opt]*/, TVariantInParam MatchByte/*[in,opt]*/, TVariantInParam MatchControlCharacters/*[in,opt]*/, TVariantInParam MatchDiacritics/*[in,opt]*/, TVariantInParam MatchKashida/*[in,opt]*/, TVariantInParam MatchAlefHamza/*[in,opt]*/)
Подскажите пожалуйста (о! я волшебное слово вспомнил даже! , как надо правильно написать, чтобы такой ошибки не было (используя OLE-серверы, конечно). Ну хоть на пальцах покажите пример %)
Заранее благодарен..) |
|