Порылся по столь обильной ветке, но так и не понял как к QAxObject подтянуть какие-то события, класс не содержит никаких сигнальных функций или статусных методов, я так понял необходимо подключать эти события из вне ?
Пример стандартный:
QAxObject *mExcel = new QAxObject( "Excel.Application",this); //Это мы получаем указатель на Excel
QAxObject *workbooks = mExcel->querySubObject( "Workbooks" ); //это на книги
QAxObject *workbook = workbooks->querySubObject( "Open(const QString&)", "C:\\Qt\\hello5.xlsx" ); //это на директорию,откуда грузить книгу
QAxObject *mSheets = workbook->querySubObject( "Sheets" ); //это на листы(снизу вкладки)
QAxObject *StatSheet = mSheets->querySubObject( "Item(QVariant&)", QVariant("Main") ); //Это мы указываем,какой лист выбрать. У меня он называется topic
QAxObject *rangec = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(1),QVariant(1)); //получаем указатель на ячейку,откуда будем копировать.
QAxObject *rangep = StatSheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(2),QVariant(3)); // получаем указатель на ячейку,куда будем копировать.
rangec->dynamicCall("Copy()"); //осуществляем запрос на копирование.
rangep->dynamicCall("Select()"); ///выбираем ячейку,в которую будем вставлять данные
StatSheet->dynamicCall("Paste()"); ///вставляем.
delete StatSheet;
delete mSheets;
workbook->dynamicCall("Save()");
connect(workbook,SIGNAL());
workbook->dynamicCall("Close()");
delete workbook;
delete workbooks;
mExcel->dynamicCall("Quit()");
delete mExcel;
Но как увидеть что при открытии идет событие файл можн открыть только для чтения и остальные которые отображаются в GUI ?