wordApp.CreateDispatch(_T("Word.Application")存在问题

一川烟草 2013-04-08 12:39:17
各位大神,小弟近日想用VC2010操作Word2010,但是遇到一个问题,很困扰:
CApplication wordApp; // wordApp
CDocuments docxs; // docxs
CDocument0 docx, docx_active; // docx
CoInitialize(NULL);
COleException* pe = new COleException;
if ( !wordApp.CreateDispatch(_T("Word.Application"),pe) ) // 实例化wordApp,必须有初始化
{
//AfxMessageBox(_T("本机没有安装word产品!"));
pe->ReportError();

throw pe;
return;
}
老提示说:系统找不到指定文件!
用wordApp.CreateDispatch(_T("Word.Document"),pe)则不提示,但是后续程序会报错,如:
wordApp.put_Visible(FALSE); // 设置文档开始不可见
等等~~~
小弟的系统是win7-32bit中文旗舰版 + VS2010中文专业版
求各位大神指教,O(∩_∩)O谢谢大家
...全文
665 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sx_121 2013-07-25
  • 打赏
  • 举报
回复
我也遇到这个问题了。。。
Ginie 2013-04-09
  • 打赏
  • 举报
回复
我没有用VS2010,我用的是VC6,不清楚你的具体操作情况,你可以看下这个例子,对照下 http://download.csdn.net/detail/youxxtzj/5090879
一川烟草 2013-04-09
  • 打赏
  • 举报
回复
引用 10 楼 g6785654 的回复:
我没有用VS2010,我用的是VC6,不清楚你的具体操作情况,你可以看下这个例子,对照下 http://download.csdn.net/detail/youxxtzj/5090879
呵呵 就是这个工程,编译通过,始终打不开Word
一川烟草 2013-04-08
  • 打赏
  • 举报
回复
引用 8 楼 g6785654 的回复:
你是按这个上面来的么 http://wenku.baidu.com/view/fc774ef1941ea76e58fa0492.html
是的,开始不行呢
Ginie 2013-04-08
  • 打赏
  • 举报
回复
一川烟草 2013-04-08
  • 打赏
  • 举报
回复
引用 5 楼 oyljerry 的回复:
http://social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/604ad916-2e23-4fbe-ab46-a10d3a29e228/
大哥 是VS2010 操作Word 2010
一川烟草 2013-04-08
  • 打赏
  • 举报
回复
引用 4 楼 fishion 的回复:
看到网上说 “删除公用模板试试:先让隐藏的文件能够显示出来,方法:进入我的电脑,工具-文件夹选项-查看-勾选“显示所有的文件及文件夹”然后进行如下操作 Windows C:\ Documents and Settings\Administrator\Application Data\Microsoft\Templates\目录,删除其中的“Normal.dot”公用模……
如题~~
oyljerry 2013-04-08
  • 打赏
  • 举报
回复
http://social.msdn.microsoft.com/Forums/en-US/vcmfcatl/thread/604ad916-2e23-4fbe-ab46-a10d3a29e228/
fishion 2013-04-08
  • 打赏
  • 举报
回复
看到网上说 “删除公用模板试试:先让隐藏的文件能够显示出来,方法:进入我的电脑,工具-文件夹选项-查看-勾选“显示所有的文件及文件夹”然后进行如下操作 Windows C:\ Documents and Settings\Administrator\Application Data\Microsoft\Templates\目录,删除其中的“Normal.dot”公用模板文件,再重新启动Word即可;如果还解决不了,只能卸载掉,下载个wps office 2010个人版,在360安全卫士的软件管家里可以下载,祝你成功” 直接打开word会出现这样的问题么
Ginie 2013-04-08
  • 打赏
  • 举报
回复
引用 2 楼 zhaojingh 的回复:
Quote: 引用 1 楼 g6785654 的回复: CApplication,是这个类型么,我用的是_Application wordApp; CApplication 是MFC自动生成的啊
你是怎么添加word类的
一川烟草 2013-04-08
  • 打赏
  • 举报
回复
[quote=引用 1 楼 g6785654 的回复:] CApplication,是这个类型么,我用的是_Application wordApp; CApplication 是MFC自动生成的啊
Ginie 2013-04-08
  • 打赏
  • 举报
回复
CApplication,是这个类型么,我用的是_Application wordApp;

_Application m_wdApp;
Window   mWindowActive;
Documents m_wdDocs;
_Document m_wdDoc;


BOOL COPWord::CreateApp() //´´½¨Ò»¸öеÄWORDÓ¦ÓóÌÐò
{
	if (FALSE == m_wdApp.CreateDispatch("Word.Application"))
	{
		AfxMessageBox("Application´´½¨Ê§°Ü!", MB_OK|MB_ICONWARNING);
		return FALSE;
	}
	//    m_wdApp.SetVisible(TRUE);
	return TRUE;
}

BOOL COPWord::CreateDocumtent() //´´½¨Ò»¸öеÄWordÎĵµ
{    
	if (!m_wdApp.m_lpDispatch) 
	{
		AfxMessageBox("ApplicationΪ¿Õ,Documents´´½¨Ê§°Ü!", MB_OK|MB_ICONWARNING);
		return FALSE;
	}
	m_wdDocs.AttachDispatch(m_wdApp.GetDocuments());
	if (!m_wdDocs.m_lpDispatch) 
	{
		AfxMessageBox("Documents´´½¨Ê§°Ü!", MB_OK|MB_ICONWARNING);
		return FALSE;
	}
	COleVariant varTrue(short(1),VT_BOOL);
	
	
	CComVariant Template(_T(""));    //ΪÁ˼òµ¥£¬Ã»ÓÐʹÓÃWORDµÄÎĵµÄ£°å
	CComVariant NewTemplate(false),DocumentType(0),Visible;
	m_wdDocs.Add(&Template,&NewTemplate,&DocumentType,&Visible);    
	
	//µÃµ½documentºÍselection±äÁ¿
	m_wdDoc = m_wdApp.GetActiveDocument();
	if (!m_wdDoc.m_lpDispatch) 
	{
		AfxMessageBox("Document»ñȡʧ°Ü!", MB_OK|MB_ICONWARNING);
		return FALSE;
	}
	m_wdSel = m_wdApp.GetSelection();
	if (!m_wdSel.m_lpDispatch) 
	{
		AfxMessageBox("Select»ñȡʧ°Ü!", MB_OK|MB_ICONWARNING);
		return FALSE;
	}    
	return TRUE;
}

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧