dsoFrame.ocx的使用
更新时间:2023-12-28 10:05:01 阅读量: 教育文库 文档下载
- dsoframe.ocx推荐度:
- 相关推荐
dsoFrame.ocx的使用 2007-11-23 15:20
1 在页面的后面加上如下一段话:
就可以互现如下示的一个控件界面
2 打开一个doc文件
- 打开本地C盘下的一个33.doc的文件
document.all.DSOFramer1.Open(\- 打开远程的word文件
document.all.DSOFramer1.Open(\http://localhost:8080/XxShhCtrl-getAttachmentById.pfv?fjxh=xxfbfj000562\,
\- 打开本地的excel文件
document.all.DSOFramer1.Open(\
3 保存文件到本地
document.all.DSOFramer1.Save(\
注意:这里的文件指的是把控件中展示的doc文件,以22.doc的名称保存到c盘。
4 保存文件的服务器 function fileUpload(){
//document.all.DSOFramer1.style.display=\alert('------'); //初始化Http引擎
document.all.DSOFramer1.HttpInit(); //增加Post变量
//document.all.DSOFramer1.HttpAddPostString(\;
document.all.DSOFramer1.HttpAddPostString(\//上传打开的文件
document.all.DSOFramer1.HttpAddPostCurrFile(\//执行上传动作
document.all.DSOFramer1.HttpPost(\http://192.168.0.55:8082/WordCtrl-test1.pfv\}
说明:其中userid相当于表单的name,可以通过这个名字,接收到后面的mrli值。而11.doc表示被上传的文件名字。
5 删除书签
function cleanMark(){ //删除书签
//document.all.DSOFramer1.SetFieldValue(\document.all.DSOFramer1.SetFieldValue(\}
6 循环打印(适用于人名章问题) function printStamp(){ insToTif(); //插入传真件 for(i=0;i<2;i++){
cleanMark(); //书签内容清除 if(i==0){
document.all.DSOFramer1.SetFieldValue(\张三\}else{
document.all.DSOFramer1.SetFieldValue(\李四\}
document.all.DSOFramer1.printout(); } }
function cleanMark(){ //删除书签
//document.all.DSOFramer1.SetFieldValue(\document.all.DSOFramer1.SetFieldValue(\}
7 插入传真件
function insToTif(){ //传真件问题
document.all.DSOFramer1.Open(\//document.all.DSOFramer1.SetFieldValue(\PG::\书签中插入图片
//document.all.DSOFramer1.InsertFile(\http://www.google.cn/intl/zh-CN/images/logo_cn.gif",8); //在当前光标处插入图片
document.all.DSOFramer1.InsertFile(\}
8 书签中插入内容
向名称为book1的书签中插入数据
document.all.DSOFramer1.SetFieldValue(\向书签book1中插入文字
function insToMark(){
document.all.DSOFramer1.SetFieldValue(\//新建书签book1,并向其中插入文字
//document.all.DSOFramer1.SetFieldValue(\http://localhost:8080/XxShhCtrl-getAttachmentById.pfv?fjxh=xxfbfj000562\::\插入远程图片
//document.all.DSOFramer1.SetFieldValue(\\书签中插入本地图片 }
9 书签中内容的换行 书签中加入 \\r 即可
var dd = \
document.all.DSOFramer1.SetFieldValue(\书签中插入文字
for(i=0;i<10;i++){
document.all.DSOFramer1.SetFieldValue(\}
如上语句的执行效果如图:
10.获取书签中的内容 function getBookMark(){
var docObj = document.all.DSOFramer1.ActiveDocument; //获取word对象 var value_bookmark = docObj .bookmarks(\获取书签“book1”中的内容
alert(value_bookmark); }
11.隐藏工具栏 //隐藏菜单
function hidBtn(){
var tt = document.all.DSOFramer1.ActiveDocument; tt.CommandBars(1).Visible=false; tt.CommandBars(2).Visible=false; tt.CommandBars(3).Visible=false; tt.CommandBars(4).Visible=false; tt.CommandBars(5).Visible=false; tt.CommandBars(6).Visible=false; tt.CommandBars(7).Visible=false;
}
如果让某一工具栏的某些按钮隐藏,可以用下面的方法
tt.CommandBars(1).Controls(1).Visible=false; //常用工具栏的第一个图标隐藏
tt.CommandBars(1).Controls(3).Visible=false; //常用工具栏的第二个图标隐藏
tt.CommandBars(1).Controls(1).Visible=false; //常用工具栏的第三个图标隐藏
12. 隐藏标题栏,菜单栏,工具栏
document.all.DSOFramer1.Toolbars = false; document.all.DSOFramer1.Menubar = false; document.all.DSOFramer1.Titlebar = false;
13 视图切换
设置文档显示模式HRESULT ShowView(long dwViewType, [out,retval] long * pbool);
dwViewType的可取值为: enum WdViewType {
wdNormalView = 1, wdOutlineView = 2, wdPrintView = 3, wdPrintPreview = 4,
wdMasterView = 5, //这个是大纲 wdWebView = 6 }; */
//如大纲模式
document.all.DSOFramer1.ShowView(5); ============================ Java 之Word操作 - Jacob 2007-07-03 11:01
jacob
Jacob也是基于用java调用dll的一个框架,不过是个开源的,在大名鼎鼎的Sourceforge 有一席之地。下载地址为
http://sourceforge.net/project/jacob-project ,可以从上面下载最新的依赖包和 dll 文件。我下载的是目前的最新版 jacob_1.13-M2 ,据传,老版本对office2003支持不是很好 :-)。下载解压后如图:
在AMD64和X86文件加中是对应不同系统的dll,对应windows,就把x86下面的dll拷贝到c:/Windows/system32下面即可。 --------------------------------------
把 doc 文件转换为 html 文件的小例子(参看网友文章而来) 主要代码和注释如下:
ActiveXComponent app = new ActiveXComponent(\//启动word
String docPath = \//word 文件的位置
String htmlPath = \// 目标文件的位置,就是把temp.doc转换为ssss.htm文件
app.setProperty(\//这里的false表示生成过程不显示word的打开过程,而如果是true,则在生成过程中会显示word打开
Object docs = app.getProperty(\
Object doc = Dispatch.invoke((Dispatch) docs, \Dispatch.Method, new Object[]{docPath, new Variant(false), new Variant(true)}, new int[1]).toDispatch(); // 打开word文件
Dispatch.invoke((Dispatch) doc, \Object[]{htmlPath, new Variant(8)}, new int[1]); //生成html文件 Variant f = new Variant(false);
Dispatch.call((Dispatch) doc, \
app.invoke(\//退出,一般放在finally中 这个我已经测试过了,挺好使的。呵呵。 --------------------------------------
使用JACO 取得书签处的值和向书签处插入变量值 模板文件如图:
下面是我测试的代码。 public void openWord() {
ActiveXComponent app = new ActiveXComponent(\ String inFile = \//word 文件的位置 String toFile = \
Dispatch docs = app.getProperty(\
Dispatch doc = Dispatch.invoke(docs, \Variant(false), new Variant(true)}, new int[1]).toDispatch(); //打开
word文件
Dispatch activeDocument=app.getProperty(\
Dispatch bookMarks = app.call(activeDocument, \//Bookmarks是一个关键字
String bookMarkKey=\//书签名称
Dispatch rangeItem = Dispatch.call(bookMarks, \// Item是关键字
Dispatch range = Dispatch.call(rangeItem, \//Range是关键字 String bookMarkValue=Dispatch.get(range,\//获取miji书签处的值 log.debug(\//输入 “miji”书签的值 String newMarkValue=\新标签值\
String bookMarkKey_new=\//书签名称
Dispatch rangeItem_new = Dispatch.call(bookMarks, \//
Item是关键字
Dispatch range_new = Dispatch.call(rangeItem_new, \//Range
是关键
字
Dispatch.put(range_new,\
Dispatch.invoke(doc, \int[1]);
Variant f = new Variant(false); Dispatch.call(doc,\ app.invoke(\ }
log.debug(\输出的内容如图示,通个图可以看到取得的
miji
名称书签的值。
再看看生成的ssss.doc文件,看看是否把字符串String newMarkValue=\新标签值\插入到了指定的位置,如图
最让人欣慰搜的是对中文支持很好。没有中文乱码现象。 jacob 文本内容的替换 下面先看看模板文件的截图 下面是详细的代码: public void openWord() {
ActiveXComponent app = new ActiveXComponent(\ String inFile = \//模板
word 文件的位置
String toFile = \ //输出的文件
Dispatch docs = app.getProperty(\
Dispatch doc = Dispatch.invoke(docs, \Variant(false), new Variant(true)}, new int[1]).toDispatch(); //打开
word文件
Dispatch selection = app.getProperty(\//得到一个组件 log.info(\
Dispatch find = Dispatch.call(selection, \//查找什么文本 String oldText = \ //需要替换的文本内容 String newText = \欢迎北京奥运\//新的内容 Dispatch.call(find, \ Dispatch.put(find, \
Dispatch.call(find, \ //这一处也是一个很值得注意的地方,如果把这一
句去掉或移至Dispatch.put(selection, \的下面,就不会执行替换功能,而是把oldText的内容插入到文档的开头部分。所以这句话应该是定位oldText位置的作用
Dispatch.put(selection, \ //文件保存
Dispatch.invoke(doc, \int[1]);
Variant f = new Variant(false); Dispatch.call(doc, \
app.invoke(\ //一般写在
finally结构体中
}
执行后的结果截图:
从截图可以看出文本“2007”被“2008-欢迎北京奥运会”替换掉了。
正在阅读:
dsoFrame.ocx的使用12-28
关于学习贯彻市委五届十次全会精神情况汇报05-29
阅读刷新着我的生活作文600字07-11
新课标下的高中英语教学之我见10-02
第三章 轴流压气机工作原理06-15
汗下吐三法该尽治病诠06-11
特殊病用药和诊疗范围 - 图文10-10
支持现代物流管理模式的信息系统设计方案05-30
高铁连续梁支座纵向预偏移量计算12-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- dsoFrame
- 使用
- ocx
- 两整治一改革专项行动典型单位经验介绍
- 激光测量仪操作说明
- 七年级语文上册第6课我的老师教案(新版)新人教版word版本
- 2016-2020年中国新能源行业发展现状及投资前景预测报告 - 图文
- 免费在线作业答案在线作业答案中国石油大学(北京)15秋《化工原理(一)》第三阶段在线 满分答案
- 园林绿化工程施工中的常见问题及解决办法
- 老人去世悼词经典
- 小学生竞选组长演讲稿
- 小学一年级识字卡啊啊啊
- XXXX年医疗废物管理工作总结精品资料
- 2010版药典凡例17691
- 大气污染控制工程复习题
- 工商行政执法讲课稿
- 中国工业学案(学生版)
- 一等奖教师师德演讲稿集锦
- 钳工高级理论知识参考1
- 谈路桥施工项目质量管理
- 试验室C20混凝土配合比设计书
- 初中数学专题训练--整式--因式分解
- 建筑项目经理个人工作总结