现在的位置: 首页 > 综合 > 正文

winform中DSOFRAMER使用小结

2018年03月20日 ⁄ 综合 ⁄ 共 1555字 ⁄ 字号 评论关闭

开发环境:

  VS2010

  DOSFRAMER版本为1.3

  MS OFFICE2003+SP3

  最近一直想用VC#2008做个内嵌WORD/OFFICE的WINFORM,目前主要有以下解决途径:

  1、直接通过API把WORD/OFFICE的窗口句柄给放到WINFORM中(较为复杂);

  2、通过WEB BROWSER;

  3、利用DSOFRAMER。

  本人都测试了一下,觉得DSOFRAMER更符合自己的愿望,故决定使用DSOFRAMER来实现。

  操作步骤:

  1、从微软网站下载DsoFramer_KB311765_x86.exe,解开将得到dsoframer.ocx;

  2、把dsoframer.ocx拷贝到系统目录下,并注册,我是写了一个reg.bat来实现:

  copy dsoframer.ocx c:\windows\system32\dsoframer.ocx

  regsvr32.exe c:\windows\system32\dsoframer.ocx

  3、启动VS2008,新创建一个WINFORM的C#程序;

  4、在设计工具栏中,新添加选项,在弹出的页面中选择“TAB”页,在com组件下 然后浏览,选择c:\windows\system32\dsoframer.ocx进行添加,此时设计工具栏中将看到这个工具,名字为“DSO FRAMER CONTROL OBJECT”;

  5、拖动此工具到某设计FORM窗口中,此时将在代码文件中添加了以下行:

  private AxDSOFramer.AxFramerControl axFramerControl1;

  6、打开文件,this.axFramerControl1.Open(_filePath);//注:_filePath为.doc或者.xls为后缀的文件;

  7、此时就可以直接在打开的WORD/EXCEL上进行编辑保存等等操作了。

  注:在操作过程中,发现按打印预览按钮后关闭,会引起WORD/EXCEL报错,找了好久,后来直接安装OFFICE2003 SP3,哈哈,fix the bug,不会报错了。

  //获取当前的Excel对象 

  Microsoft.Office.Interop.Excel.Workbookwk = (Microsoft.Office.Interop.Excel.Workbook)axFramerControl1.ActiveDocument;

下载: DsoFramer_KB311765_x86.exe

Aspose.cells 操作Excel

NOPI 操作Excel

附注:

     研究了半个月的dsoframer.ocx和wmp.dll,终于算稍微告一段落,本来想把两个控件上传上来的,博客还是限制了,算啦,把名字记下来,以后知道去怎么找,下载使用,就行。

       还有就是框架2.0和框架4.0的问题,累死了,上传两张图给自己记性吧:

     应用程序集属性框快捷键:视图->属性窗口


还有一个问题就是该控件必须要写入注册表才行

为32位时:xxx.bat如下:

copy dsoframer.ocx c:\windows\system32\dsoframer.ocx
regsvr32.exe c:\windows\system32\dsoframer.ocx

为64位时,xxx64.bat如下:

copy dsoframer.ocx c:\windows\SysWOW64\dsoframer.ocx
regsvr32.exe c:\windows\SysWOW64\dsoframer.ocx


注意:64位时,由于windows7权限要求必须以管理员身份运行

对于64位操作系统:SysWOW64表示该文件夹下是可以执行的32位配置及控件文件


抱歉!评论已关闭.