• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 如何在多文档、使用OLE内嵌Excel的情况下打开已经存在的xls文件?

如何在多文档、使用OLE内嵌Excel的情况下打开已经存在的xls文件?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了ole文档类型,ole文档,系统不支持ole文档,ole2办公文档,ole2文档等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何在多文档、使用OLE内嵌Excel的情况下打开已经存在的xls文件?
描述:

我按msdn的提示想在OLE内嵌Excel的情况下打开已经存在的xls文件,老是出问题,我的代码如下,大家帮我看看好么
CDemoCntrItem* pItem = NULL;
TRY
{
  //Get the document associated with this view, and be sure it's
  //valid.
  CDemoDoc* pDoc = GetDocument();
  ASSERT_VALID(pDoc);
  //Create a new item associated with this document, and be sure
  //it's valid.
  pItem = new CDemoCntrItem(pDoc);
  ASSERT_VALID(pItem);
  // Get Class ID for Excel sheet.
  // This is used in creation.
  CLSID clsid;
  if(FAILED(::CLSIDFromProgID(L"Excel.sheet",&clsid)))
    //Any exception will do. We just need to break out of the
    //TRY statement.
    AfxThrowMemoryException();
  // Create the Excel embedded item.
  if(!pItem->CreateNewItem(clsid))
    //Any exception will do. We just need to break out of the
    //TRY statement.
    AfxThrowMemoryException();
  //Make sure the new CContainerItem is valid.
  ASSERT_VALID(pItem);
  // Launch the server to edit the item.
  pItem->DoVerb(OLEIVERB_SHOW, this);
  // As an arbitrary user interface design, this sets the
  // selection to the last item inserted.
  m_pSelection = pItem;   // set selection to last inserted item
  pDoc->UpdateAllViews(NULL);
  //Query for the dispatch pointer for the embedded object. In
  //this case, this is the Excel worksheet.
  LPDISPATCH lpDisp;
  lpDisp = pItem->GetIDispatch();
  COleVariant
  covTrue((short)TRUE),
  covFalse((short)FALSE),
  covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
  _Worksheet ws;
  _Application app;
  Workbooks books;
  ws.AttachDispatch(lpDisp);
  app = ws.GetApplication();
  books = app.GetWorkbooks();
  books.Open("D:\\traffic.xls",
    covOptional, covOptional, covOptional, covOptional, covOptional,
    covOptional, covOptional, covOptional, covOptional, covOptional,
    covOptional, covOptional);
}
到这里老是出Failed to create object. Make sure the object is entered in the system registry的错误,我用的是excel2000的库,刚接触ole,大家帮我看看好么。即使解决不了,告诉我怎么在多文档、使用OLE内嵌Excel的情况下打开已经存在的xls文件的其他方法也可以阿,谢谢了


解决方案1:

对,同意“gzshd(郁闷)”的说法。
你的工程需要作为文档服务器支持。

解决方案2:

你的多文档工程有没有支持容器,可以在新建工程时的AppWizard里选,如果你没有做的话,可以新建一个支持容器的工程,比着改你的程序。或者可以用DataGrid之类的控件来做


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于OLE容器中文档的内容是否修改的问题?
  • 如何给OLE_COLOR类型的赋值?
  • ole复合文档
  • office多文档OLE操作命令栏被禁用求解决方法
  • 如何在OLE文档容器中调用自动化接口,老弟先拜你为师了!
  • 关于ole文档的问题,急!!!
  • OLE方式嵌入WORD后打开文档的问题
  • 关于ole文档的问题,看了mfc,还是不懂
  • OLE文档,在收到组件改变的通知后,怎么不能实现重绘OLE文档
  • 传递OLE_COLOR类型问题

相关文章

  • 2017-06-04 小女子求助:Activex控件第一次用cab包自动注册成功,然后再通过网页调用exe的安装程序注册就不成功,而在本机上直接运行注册也没问题,怎么回事?
  • 2017-06-05 麻烦大家帮我解释下关于WTL的一个很基础的问题
  • 2017-06-04 VB调用VC写的OCX问题
  • 2017-06-04 ATL中使用ADO连接数据库的问题,在线求助!
  • 2017-06-04 如何在注册activex的时候弹出一个自定义对话框,对话框上面有EDITBOX供用户输入信息?
  • 2017-06-05 (输入法编程)如何实现按“”键实现退格的功能?100分求!
  • 2017-06-04 我用ATLServer写的WebService部署到非开发服务器上不能用,不知为什么?
  • 2017-06-05 求救,多线程下载问题!!!
  • 2017-06-04 请问VC++中如何在dll的对话框中加如ActiveX控件
  • 2017-06-04 请问一下MTS与COMDCOMCOM+的关系?不好意思^-^

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 错在哪儿,数据库竟然连接不成功!???
    • 我用VC写了一个系统服务,在2000上正常,在XP和2003上不能安装
    • 请问如何对IShockwaveFlash调节音量大小?
    • MediaPlayer控件求助
    • 往基于ATL的COM中加入对话框,ONPAINT()函数出错的问题?
    • vc中如何不用模板创建一个新的excel文件?
    • 难题,动态加载控件技术,请教高手!!!
    • 几个问题急死人!在线等!解决马上给分!
    • 如何调试由系统服务启动的程序?
    • DLL问题!急!!!!!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有