crossplatform.ru

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

> листы excel в QT, под windows
AlexeyDonald
  опции профиля:
сообщение 24.2.2011, 1:32
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 22.2.2011
Пользователь №: 2428

Спасибо сказали: 0 раз(а)




Репутация:   0  


Народ подскажите, цель поменять имя листа в документе, не пойму в чем ошибка. Вот проблема, я экспортирую дату в excel, открываю документ, все нормально работает до определенного момента, код ниже:
    QAxObject* excel = new QAxObject( "Excel.Application" );
    excel->dynamicCall( "SetVisible(bool)", TRUE );
    QAxObject *workbooks = excel->querySubObject( "Workbooks()" );

    QAxObject* workbook = workbooks->querySubObject( "Add()" );
    QAxObject* Sheets = workbook->querySubObject( "Sheets" );
    QAxObject* Sheet;
    Sheets->querySubObject("Add");
    Sheets->querySubObject("Add");
    Sheets->querySubObject("Add");

    Sheet =Sheets->querySubObject( "Item(int)" ,1);
    Sheet->dynamicCall( "Select()" );
    Sheet->setProperty("Name","name1");
    ExportToPage1(Sheet,model_1);



После этого названия листа меняется нормально.
Но дальше отказывается менять имя листа.
  Sheet =Sheets->querySubObject( "Item(int)" ,2); 
    Sheet->dynamicCall( "Select()" );
    Sheet->dynamicCall("Name","name2");
    ExportToPage2(Sheet,model_2);

    Sheet =Sheets->querySubObject( "Item(int)" ,3);
    Sheet->dynamicCall( "Select()" );
    Sheet->setProperty("Name(QString)","name3");
    ExportToPage2(Sheet,model_3);

    Sheet = Sheets->querySubObject( "Item(int)" ,4);
    Sheet->dynamicCall( "Select()" );
    Sheet->setProperty("SetName(QString)","name4");
    ExportToPage2(Sheet,model_4);



пишет:

QAxBase: Error calling IDispatch member Name: Exception thrown by server
Code : 1004
Source : Microsoft Excel
Description: ??????? ???????????? ??? ??? ????? ??? ?????????. ?????????, ???:

? ????? ?????????? ????? ?? ????????? 31 ?????;
? ??? ?? ???????? ?? ?????? ?? ????????? ??????: : \ / ? * [ ??? ];
? ??? ?? ????????? ??????.
Help : xlmain11.chm
Connect to the exception(int,QString,QString,QString) signal to catch this exception

Кто нибудь знает в чем дело? Спасибо!!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




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