dsoFrame.ocx的使用
更新时间:2024-03-12 16:22: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的使用03-12
山东省新泰二中、泰安三中、宁阳二中高二地理上学期期中联考试题03-12
08马克思主义原著著作选读习题110-01
这些年的项目管理心得11-23
基于CAN总线的锂离子动力电池组管理系统07-27
梅花的精神作文450字06-12
我的妈妈作文600字02-05
校园师情作文700字07-14
先知 四公司斥资逾34亿买入中国重工 建银浮盈4.6亿元12-16
小型固体火箭发动机设计范本08-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- dsoFrame
- 使用
- ocx
- 创新项目结题报告范文
- 2019学年人教版高中数学必修52.5等比数列的前n项和说课教
- 非饱和湿陷性黄土二维渗流分析
- 最新人教版四年级数学下册教学教案
- 2019年河南城建学院成考专升本(必看)
- 最新排球规则
- 供应商关系管理模型及方法研究毕业论文
- 刍议激励理论在高校教学管理中的应用
- 第7章习题解答
- 教师在英语课堂中的语码转换现象-2019年精选文档
- 无锡市机电产品经销商名录6592家
- 07年11月人力资源管理师三级真题和标准答案
- 一等奖教师师德演讲稿集锦
- 网络的不同功能类型对人际交往心理影响
- 2016吉林省特岗教师考试历史备考:“中华民族的抗日战争”考点梳
- 七年级语文上册第6课我的老师教案(新版)新人教版word版本
- 2016-2020年中国新能源行业发展现状及投资前景预测报告 - 图文
- 中国工业学案(学生版)
- 推荐教案人教版八年级语文上册第二单元8美丽的颜色教案新
- 2010版药典凡例17691