Russian Qt Forum
Ноябрь 01, 2024, 06:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не могу достучаться к excel через ActiveX  (Прочитано 3338 раз)
nvrrus
Гость
« : Январь 18, 2011, 18:19 »

Здравствуйте!

Версия qt-sdk-win-opensource-2010.04.
Проблема следующая. Нужно извлечь дынные из excel файла. Пытаюсь достучаться к нему через ActiveX.

#include <ActiveQt/qaxobject.h>
#include <ActiveQt/qaxbase.h>

QAxObject *mExcel = new QAxObject( "Excel.Application",this); Это мы получаем указатель на Excel
QAxObject *workbooks = mExcel->querySubObject( "Workbooks" ); это на книги


workbooks принимает значение 0x0

Что не так? Подскажите, пожалуйста.

Записан
Paullo
Гость
« Ответ #1 : Январь 18, 2011, 20:37 »

Никогда не работал с ActiveX, но точно знаю что через QtSql + ODBC драйвер должно получиться.
Записан
shar
Гость
« Ответ #2 : Январь 19, 2011, 00:58 »

Код:
	
_excel = new QAxObject(this);
_excel->setControl("Excel.Application");

if( !_excel || _excel->isNull() )
throw QString("Невозможно создать COM-оюъект Excel. Возможно Excel не установлен!");

_excel->setProperty("DisplayAlerts", false);
_workbook = _excel->querySubObject("Workbooks")->querySubObject("Add");
_sheet = _workbook->querySubObject("Sheets")->querySubObject("Item(QVariant)", 1);

Такой кусок работает. Qt 4.3.1
Записан
shar
Гость
« Ответ #3 : Январь 19, 2011, 01:10 »

Ваш код у меня тоже отрабатывает...  Непонимающий
Записан
nvrrus
Гость
« Ответ #4 : Январь 28, 2011, 23:43 »

Спасибо, разорался, с 2010 офисом не работает, на 2007 все нормально.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 21.