crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику croc ::: Спасибо сказали: 1 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
10.9.2009, 9:22 Cells в QT при работе с MS Office
А как получать массив значений определенного range?

Иногда ячейке назначено свойство контроля вводимых значений, иногда бывает полезно получить список допустимых значений, искомый обьект называется Validation и является членом класса Range, обратиться к нему можно так:

QAxObject *or = range->querySubObject("Validation"); 
//ссылка на обьект реализующий контроль вводимых значений

QString s = or->dynamicCall("formula1").toString();
//в формула этого обьекта и содержит знание о том какие значения в ячейке будут являться допустимыми, там правда еще formula2 есть, но она в моем случае была пуста.


Не удивительно что там окажется ссылка именнованного массива "Name" (=имя_именнованного_массива) член класса WorkBook или WorkSheet, по этому вот пример обращния к нему:

name = workbook->querySubObject("Names(const QVariant&)", QVariant(s));
//получаем ссылку на именованный массив

s = name->dynamicCall("RefersTo").toString();
//получаем ссылку на искомый массив
Litkevich Yuriy,

RSS Текстовая версия Сейчас: 24.4.2024, 7:38