momo
28th July 2017, 19:57
Hello everyone,
I'm trying to do some job in an opened MS Excel file. I can use QAxObject to open a xls file and reading/writing it, like:
QAxObject m_axObjExcel("Excel.Application");
m_axObjExcel.setProperty("Visible", true);
QAxObject* m_pAxObjWorkBooks = m_axObjExcel.querySubObject("WorkBooks");
m_pAxObjWorkBooks->dynamicCall("Open (const QString&)", m_strExcelFilePath);
QAxObject* m_pAxObjWorkBook = m_axObjExcel.querySubObject("ActiveWorkBook");
QAxObject* m_pAxObjWorkSheets = m_pAxObjWorkBook->querySubObject("Sheets");
QAxObject* m_pAxObjWorkSheet = m_pAxObjWorkSheets->querySubObject("Item(int)", 1);
QAxObject *cell = m_pAxObjWorkSheet->querySubObject("Cells(int,int)", iRowIndex, iColIndex);
cell->setProperty("Value", strText);
But how can I interact with an existing MS Excel process?
I'm trying to do some job in an opened MS Excel file. I can use QAxObject to open a xls file and reading/writing it, like:
QAxObject m_axObjExcel("Excel.Application");
m_axObjExcel.setProperty("Visible", true);
QAxObject* m_pAxObjWorkBooks = m_axObjExcel.querySubObject("WorkBooks");
m_pAxObjWorkBooks->dynamicCall("Open (const QString&)", m_strExcelFilePath);
QAxObject* m_pAxObjWorkBook = m_axObjExcel.querySubObject("ActiveWorkBook");
QAxObject* m_pAxObjWorkSheets = m_pAxObjWorkBook->querySubObject("Sheets");
QAxObject* m_pAxObjWorkSheet = m_pAxObjWorkSheets->querySubObject("Item(int)", 1);
QAxObject *cell = m_pAxObjWorkSheet->querySubObject("Cells(int,int)", iRowIndex, iColIndex);
cell->setProperty("Value", strText);
But how can I interact with an existing MS Excel process?