Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как работать с цветом ячейки в Excel?


Автор: ksili 24.1.2006, 12:38
Как читать из Экселя данные из ячейки я разобрался
Код

Variant vExcel, vSheet;
Variant result,cur;
     vExcel=Variant::CreateObject("Excel.Application");
     vExcel.OlePropertyGet("WorkBooks").OleProcedure("open","груз.xls");
     vSheet = vExcel.OlePropertyGet("WorkSheets", 1);

      cur = vSheet.OlePropertyGet("Cells",1,1);
     result = cur.OlePropertyGet("Value");


Однако не могу разобраться как узнать цвет ячейки. Такие строки компилятся:
Код

     cur = vSheet.OlePropertyGet("Cells",1,1);
     result = cur.OlePropertyGet("Color");


Однако при выполнении программы выскакивает ошибка "Неизвестное имя". Понятно, что свойства Color нет, а называется оно как-то по-другому.

Может кто-нибудь знает как именно оно называется?
И параллельно вопрос на туже тему: я подозреваю, что OLE-свойств и OLE-функций много, но нигде не встречал их описания или хотя бы перечисления. Может кто-нибудь подскажет ссылки на эту тему? Хотя бы для Excel'я

Автор: _hunter 24.1.2006, 13:07
называется оно ColorIndex
их описание можно найти как в MSDN' е так и в справке редактора макросов.
и вообще, методика такая: записываеш в екселе макрос, открываеш его и переносиш код.

Автор: ksili 25.1.2006, 06:39
На ColorIndex Билдер ругается также, хотя в макросе написано это свойство.

Зато получилось так:
Код

     cur = vSheet.OlePropertyGet("Cells",1,1);
     result = cur.OlePropertyGet("Interior").OlePropertyGet("Color");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)