Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 1099|回复: 0

winform嵌入word解决方案一

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-9-3 11:38:02 | 显示全部楼层 |阅读模式

    最近一直想用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,不会报错了。

     

    本文来自http://www.cnblogs.com/tianfu/archive/2009/05/07/1452047.html

     

     

    1.将dsoframer.ocx复制到c:\windows\system32\
    2.双击运行regocx.bat文件

    在vs2010中使用dsoframer控件:
    1.在工具箱中添加项,在COM 选项卡中选择已注册的dsoframer控件。
    2.将公共控件中的DSO Framer控件拖到表单上。
    3.在DSO中打开Office文件代码:
    this.axFramerControl1.Open("c:\\test.xls");
    4.将Office文件保存的代码:
    this.axFramerControl1.Save("c:\\test.xls",true,"myname","mypass");

    例如:

    private void button1_Click(object sender, EventArgs e)
    {
    this.axFramerControl1.Open("C:\\Documents and Settings\\Administrator\\桌面\\复件 新建 Microsoft Word 文档.doc");
    }

    private void button2_Click(object sender, EventArgs e)
    {
    this.axFramerControl1.Save("C:\\Documents and Settings\\Administrator\\桌面\\111111111 文档.doc", true, "myname", "mypass");
    }

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 10:50 , Processed in 0.057054 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表