Кодирование так:
QAxObject *work_book = excel.querySubObject("ActiveWorkBook");
[«ActiveWorkBook»] это изменилось в Excel2016?
Работает на excel2003
а также excel2007
, но это не работает на excel2016
,
workBook
всегда получать значение NULL excel2016
,
Как я могу получить workbook
на excel2016
,
QAxObject excel("Excel.Application");
excel.setProperty("Visible", true);
QAxObject *work_books = excel.querySubObject("WorkBooks");
if (!work_books)
{
return;
}
work_books->dynamicCall("Open (const QString&)", excelPath);
QVariant title_value = excel.property("Caption");
qDebug() << QString("excel title : ") << title_value;
QAxObject *work_book = excel.querySubObject("ActiveWorkBook");
if (!work_book)
{
return;
}
Задача ещё не решена.
Других решений пока нет …