Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ диапазон ячеек Excel

Автор: abcd 28.8.2015, 13:26

Здравствуйте! Подскажите, как выделить диапазон ячеек от Cell(2,2) до Cell(2,7), не используя буквы?
И как можно соединить слот с сигналом exception(...), если для указателя на объект рабочего листа у меня в списке сигналов только сигналы QObject?

Делал так, но получается ошибка:
QAxObject *rangec = sheet->querySubObject( "Range(const QString&, const QString&)","A2" ,"Cells(2,2), Cells(2,7)");

Автор: ViGOur 28.8.2015, 15:04

Попробуй так:

QAxObject *rangec = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(2),QVariant(1));


А вообще, есть небольшой FAQ: http://www.wiki.crossplatform.ru/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_MS_Office_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_ActiveQt#.D0.9E.D0.B1.D1.8A.D0.B5.D0.B4.D0.B8.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D1.8F.D1.87.D0.B5.D0.B5.D0.BA

Автор: abcd 28.8.2015, 16:55

Ваш код выделяет одну ячейку, а не диапазон (в параметрах указываются строка и столбец, на пересечении которых она находится).
По ссылке, которую вы указали, этого нет (если бы было, я бы не спрашивал).

Автор: abcd 28.8.2015, 17:20

Насчет ссылки оказался неправ, перепутал ее с другой, там все есть.
QAxObject* range = StatSheet->querySubObject("Range(const QVariant&,const QVariant&)", Cell1->asVariant(), Cell2->asVariant() );

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)