• 5126阅读
  • 0回复

再谈调用Excel:使用QAxObject调用Excel在退出时的问题~ [复制链接]

上一主题 下一主题
离线luoyes
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-28
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
  1. QAxObject *pExcel = new QAxObject( "Excel.Application", 0 );
  2. QAxObject *pWorkbooks = pExcel->querySubObject( "Workbooks" );
  3. QAxObject *pWorkbooks = m_pExcel->querySubObject( "Workbooks" );
  4. QAxObject *pWorkbook = pWorkbooks->querySubObject( "Open(const QString&)", qsFileName );


这样打开一个Excel文件,毫无问题,接下来如果我又打开一个别的Excel文件(不是用代码,而是用鼠标双击打开 )

然后在程序退出时这样释放:
  1. pExcel->dynamicCall( "Quit()" );
  2. pExcel->clear();


会把这两个打开的文件都关掉。而从正常角度来讲这里只应该关闭用代码打开的那个文件。

原因:
第一段代码启动了一个Excel程序,随后又打开了一个Excel文件。
然后又在外部打开了一个Excel文件,这次打开并没有启动一个新的Excel程序,使用的是刚刚启动的Excel。
最后执行Quit函数时把Excel程序关闭了,两个文件都被干掉了~

应该怎么办?

Thanks for your reading~
快速回复
限100 字节
 
上一个 下一个