博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DSOFRAMER使用小结

Posted on 2009-05-07 16:34  海岛  阅读(18443)  评论(15编辑  收藏  举报

最近一直想用VC#2005做个内嵌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、启动VS2005,新创建一个WINFORM的C#程序;

4、在设计工具栏中,新添加选项,在弹出的页面中选择“TAB”页,然后浏览,选择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,不会报错了。

今天心里高兴,写下来和大家共享,有错误地方请帮忙指出来,一起进步。

另外文笔不好,请大家原谅。