QAxWidget * word_app = new QAxWidget("Word.Application", this); if (!word_app) return ; word_app->setProperty("Visible", true); // Делаю его невидимым word_app->setProperty("DisplayAlerts", "0"); // Это мне надо, отключает гуеву ругань на различного рода ошибки, чтоб процесс выполнения программы на ошибках и предупреждениях не прерывался QAxObject * word_file = word_app->querySubObject("Documents"); if (!word_file) QMessageBox::information(0,"","Documents не взялся"); word_file->querySubObject("Open(const QString&)", s); QAxObject * word_selection = word_app->querySubObject("Selection"); if (!word_selection) QMessageBox::information(0,"","word_selection не взялся"); QAxObject * Tables = word_selection->querySubObject("Tables(1)"); if (!Tables) QMessageBox::information(0,"","Tables не взялся"); Tables->querySubObject("Selection()"); QAxObject * Range=Tables->querySubObject("Range()"); if (!Range) QMessageBox::information(0,"","Range не взялся"); QAxObject* Cell = Tables->querySubObject("Cell(Row, Column)", 1,1); QAxObject* CellRange = Cell->querySubObject("Range()"); QMessageBox::about(0,"",Cell->property("Value").toString()); word_app->dynamicCall("Close (Boolean)", FALSE); word_app->dynamicCall("Quit()");
QAxWidget * word_app = new QAxWidget("Word.Application", this); if (!word_app) return ; word_app->setProperty("Visible", true); // Делаю его невидимым word_app->setProperty("DisplayAlerts", "0"); // Это мне надо, отключает гуеву ругань на различного рода ошибки, чтоб процесс выполнения программы на ошибках и предупреждениях не прерывался QAxObject * word_file = word_app->querySubObject("Documents"); if (!word_file) QMessageBox::information(0,"","Documents не взялся"); word_file->querySubObject("Open(const QString&)", s); QAxObject * word_selection = word_app->querySubObject("Selection"); if (!word_selection) QMessageBox::information(0,"","word_selection не взялся"); QAxObject * Tables = word_selection->querySubObject("Tables(1)"); if (!Tables) QMessageBox::information(0,"","Tables не взялся"); Tables->querySubObject("Selection()"); QMessageBox::about(0,"",Tables->property("Rows").toString()); QAxObject * Range=Tables->querySubObject("Range()"); if (!Range) QMessageBox::information(0,"","Range не взялся"); QAxObject* Cell = Tables->querySubObject("Cell(Row, Column)", 1,1); QAxObject* CellRange = Cell->querySubObject("Range()"); QMessageBox::about(0,"",CellRange->property("Text").toString()); word_app->dynamicCall("Close (Boolean)", FALSE); word_app->dynamicCall("Quit()"); // delete word_app; // delete word_file;
QAxWidget * word_app = new QAxWidget("Word.Application", this); if (!word_app) return ; word_app->setProperty("Visible", false); // Делаю его невидимым word_app->setProperty("DisplayAlerts", "0"); // Это мне надо, отключает гуеву ругань на различного рода ошибки, чтоб процесс выполнения программы на ошибках и предупреждениях не прерывался //Беру документ QAxObject * word_file = word_app->querySubObject("Documents"); if (!word_file){ QMessageBox::information(0,"","Documents не взялся"); return; } // Открываю файл word_file->querySubObject("Open(const QString&)", s); // Выбераю его QAxObject * word_selection = word_app->querySubObject("Selection"); if (!word_selection){ QMessageBox::information(0,"","word_selection не взялся"); return; } // Беру первую таблицу QAxObject * Tables = word_selection->querySubObject("Tables(1)"); if (!Tables){ QMessageBox::information(0,"","Tables не взялся"); return; } // Dsltkz. tt Tables->querySubObject("Selection()"); // QMessageBox::about(0,"",Tables->querySubObject("Range")->querySubObject("Rows")->property("Count").toString()+" - "+Tables->querySubObject("Range")->querySubObject("Columns")->property("Count").toString() ); int intCols = Tables->querySubObject("Range")->querySubObject("Columns")->property("Count").toInt(); //Получаю columns int intRows = Tables->querySubObject("Range")->querySubObject("Rows")->property("Count").toInt(); //Получаю rows // Доступ к ячейкам Cell = Tables->querySubObject("Cell(Row, Column)", i,2); CellRange = Cell->querySubObject("Range()"); CellRange->property("Text").toString();