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:
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);
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);
To copy to clipboard, switch view to plain text mode
But how can I interact with an existing MS Excel process?
Bookmarks