2 u013472580 u013472580 于 2014.01.13 23:30 提问

VC如何在线程中读取word文档内容?

创建了一个对话框的MFC工程
//全局变量
Documents docs;
Selection selection;
_Document doc;
_Application wordApp;
//***************************

CString *pstr,path,str;
int i;

path="C:\\Documents and Settings\\Administrator\\桌面\\新建文件夹\\1.doc";//文件目录

LPDISPATCH pd;
COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOpt((long)DISP_E_PARAMNOTFOUND,VT_ERROR),vZ((short)0);
if(AfxOleInit()
&& wordApp.CreateDispatch("Word.Application",NULL))
{

    wordApp.SetVisible(1);
    docs.AttachDispatch(wordApp.GetDocuments());
    AfxMessageBox("here");
    pd=docs.Open(COleVariant(path),vFalse,vTrue,vFalse,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vZ,vOpt,vOpt);

    doc.AttachDispatch(pd);
    //AfxMessageBox("here");
    selection=wordApp.GetSelection();
    selection.GetSections();
    selection.WholeStory();
    content=selection.GetText();
    AfxMessageBox(content);
    selection.ReleaseDispatch();

    doc.Close(vOpt,vOpt,vOpt);
    doc.ReleaseDispatch();
    wordApp.Quit(vFalse,vOpt,vOpt);
    wordApp.ReleaseDispatch();
}

//以上代码在主程序中运行正常,读出了word文档的内容
//但是放在由AfxBeginThread开启的线程中就总在docs.Open这一步失败
//显示:unhandled exception in WordReader.exe (KERNEL32.dll) 0xE06D7363 Micsoft C++ Exception
//这是为何???

2个回答

u013376882
u013376882   2014.01.14 09:35

缺少相应的头文件,你可以参考下excel类的。。。

haithink
haithink   2014.03.22 10:57

是啊,我这也是,只要是新线程就错误。

Csdn user default icon
上传中...
上传图片
插入图片