bobbayribs
1st June 2017, 13:41
Hi all,
I have an app that opens Word docs, parses them, and saves them to text file. Everything works great, except when the Word doc is already opened. Then a popup opens:
File In Use
Do you want to:
Open a Read Only copy
Create a local copy and merge your changes later
Receive notification when the original copy is available
And my app hangs and crashes.
How can I detect a word doc is already opened? Then I just would output an error message, skip opening, and parsing that particular word doc.
my_app = new QAxObject("Word.Application", this);
QAxObject* my_docs = my_app->querySubObject("Documents");
//Open docxFile
QString filename(docxFile);
QVariant confirmconversions(false);
QVariant readonly(false);
QVariant addtorecentfiles(false);
QVariant passworddocument("");
QVariant passwordtemplate("");
QVariant revert(false);
QAxObject* doc = my_docs->querySubObject("Open(const QVariant&, const QVariant&,const QVariant&, const QVariant&, const QVariant&, const QVariant&,const QVariant&)", filename, confirmconversions, readonly, addtorecentfiles, passworddocument, passwordtemplate, revert);
//Pull out active document object
QAxObject* active_doc = my_app->querySubObject("ActiveDocument");
Thanks!
I have an app that opens Word docs, parses them, and saves them to text file. Everything works great, except when the Word doc is already opened. Then a popup opens:
File In Use
Do you want to:
Open a Read Only copy
Create a local copy and merge your changes later
Receive notification when the original copy is available
And my app hangs and crashes.
How can I detect a word doc is already opened? Then I just would output an error message, skip opening, and parsing that particular word doc.
my_app = new QAxObject("Word.Application", this);
QAxObject* my_docs = my_app->querySubObject("Documents");
//Open docxFile
QString filename(docxFile);
QVariant confirmconversions(false);
QVariant readonly(false);
QVariant addtorecentfiles(false);
QVariant passworddocument("");
QVariant passwordtemplate("");
QVariant revert(false);
QAxObject* doc = my_docs->querySubObject("Open(const QVariant&, const QVariant&,const QVariant&, const QVariant&, const QVariant&, const QVariant&,const QVariant&)", filename, confirmconversions, readonly, addtorecentfiles, passworddocument, passwordtemplate, revert);
//Pull out active document object
QAxObject* active_doc = my_app->querySubObject("ActiveDocument");
Thanks!