




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WebOffice开发系列指南 WebOffice开发系列01-自动下载安装组件(B/S)WebOffice开发系列02-如何打开文件WebOffice开发系列03-修订留痕WebOffice开发系列04-安全控制 (防止复制、打印、保存)WebOffice开发系列05-菜单控制WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜色)WebOffice开发系列08-文件上传到服务器WebOffice开发系列09-其他功能-全屏-VBAwebOffice控件自动下载是指在打开网页时,网页会自动把webOffice控件下载下来,从而可以将word、excel嵌入到网页中。控件自动下载的相关代码如下:上面的脚本意思是: 自动更新classid= FF1FE7A0-0578-4FEE-A34E-FB21B277D561 的COM组件,更新地址为 ./js/WebOffice1.ocx,codebase后的路径为相对路径也可为绝对路径,要更新的最新版本为6,0,4,0。此时,IE会自动访问注册表,如果发现当前机器未安装或者当前版本低于6,0,4,0,就会自动下载。WebOffice开发系列02-如何打开文件单击打开文件按钮,可以在webOffice中打开文件,具体操作如图所示:1004291534911966484dcfde21.jpg打开文档的接口为LoadOriginalFile,其接口描述如下:原 型: long LoadOriginalFile(BSTR pcFileNameOrUrl, BSTR pcType);功 能:新建、装载Office文档参 数:pcFileNameOrUrl:要装载文件的本地路径或者URL,值为空表示新建文档,如果是在Http的Web环境下,可以传相对路径. pcType:doc:打开、新建Word文件xls:打开、新建Excel文件ppt:打开、新建PPT 文件wps:打开、新建WPS 文件 返回值:为 0:失败非0:成功示 例:/ 通过URL打开一个服务器文件,getdoc.asp代码见演示文件document.all.WebOffice1.LoadOriginalFile(/getdoc.asp?id=8, doc);/ 通过URL打开一个服务器文件,相对路径document.all.WebOffice1.LoadOriginalFile(/getdoc.asp?id=8, doc);document.all.WebOffice1.LoadOriginalFile(./getdoc.asp?id=8, doc);/ 新建Exceldocument.all.WebOffice1.LoadOriginalFile(, xls);=特别注意=建议在NotifyCtrlReady 事件中调用 LoadOriginalFile 接口,否则有可能出现Word窗口脱离界面的问题。/* 在装载完Weboffice(执行.)* 控件后执行 WebOffice1_NotifyCtrlReady方法*/WebOffice1_NotifyCtrlReady()WebOffice1_NotifyCtrlReady()document.all.WebOffice1.LoadOriginalFile(, doc);您没有权限查看这个主题的附件。hangel 帖子: 10 注册: 2010-07-12 10:39 页首WebOffice开发系列03-修订留痕由 hangel 2010-07-12 11:38 webOffice对文档的修订操作提供了丰富的接口,其接口为:document.all.WebOffice1.SetCurrUserName(user_name);文档操作的具体步骤如图所示,先以Test用户身份对文档进行编辑,如图所示:10042915368ed41a99e4cc92ba.jpg编辑完成上传后,其他用户如果想修订文档可以单击“修订文档”的按钮,接口为:/ 开始修订document.all.WebOffice1.SetTrackRevisions(1); / 接受修订document.all.WebOffice1.SetTrackRevisions(4); 编辑文档的时候字体会针对不同的用户显示不同的颜色,如下图所示:10042915369c8f50cabf3a5c18.jpg单击“显示修订”会显示所有其他用户的修改和删除的操作,单击“隐藏修订”时就会隐藏所有的修订,文档文字的颜色会变成同原文档的文字一样,而且删除的横线也会去掉,其接口如下:/ 隐藏修订document.all.WebOffice1.ShowRevisions(0);/ 隐藏修订 document.all.WebOffice1.ShowRevisions(0); 如下图所示:10042915369c8f50cabf3a5c18.jpg单击“接受所有修订”则文档的修订就会生效,否则单击“拒绝所有修订”文档的所有修订失效,文档内容和初稿内容一致。/接受当前所有修订信息document.all.WebOffice1.SetTrackRevisions(4);单击“获取修订信息”则会获取所有对文档进行修订的用户的相关信息及修订日期,接口描述如下:原 型: BSTR GetRevInfo(long lIndex, long lType);功 能:获取修订节点的信息(修订人,修订的时间,修订的动作)参 数:lIndex: 修订的节点编号lType: 获取的信息编号 返回值:示 例:/1.获取修订的用户vUserName = document.all.WebOffice1.GetRevInfo(i,0); /2.获取修订的时间vDate = new String(document.all.WebOffice1.GetRevInfo(i,1);/3.获取修订的动作var vRet = document.all.WebOffice1.GetRevInfo(i,2);vRet = 1:表示插入的操作vRet = 2:表示删除的操作 /4.获取修订的内容vUserName = document.all.WebOffice1.GetRevInfo(i,3);/总体的例子代码var vCount;vCount = document.all.WebOffice1.GetRevCount(); var vOpt = 0;var vDate;for(var i=1; i= vCount; i+)vOpt = document.all.WebOffice1.GetRevInfo(i,2);if(1 = vOpt)vOpt = 插入;else if(2 = vOpt)vOpt = 删除;elsevOpt = 未知操作;vDate = new String(document.all.WebOffice1.GetRevInfo(i,1);vDate = parseFloat(vDate); dateObj = new Date(vDate);alert(dateObj.getYear() + 年 + dateObj.getMonth() + 1 + 月 + dateObj.getDate() +日 + dateObj.getHours() +时 + dateObj.getMinutes() +分 + dateObj.getSeconds() +秒 );alert(用户:+document.all.WebOffice1.GetRevInfo(i,0) + rn操作: + vOpt + rn内容: + document.all.WebOffice1.GetRevInfo(i,3);100429153626ae947d8d6fde50.jpg您没有权限查看这个主题的附件。hangel 帖子: 10 注册: 2010-07-12 10:39 页首WebOffice开发系列04-安全控制 (防止复制、打印、保存)由 hangel 2010-07-12 11:41 Weboffice可以对word文档实行全面的安全控制,增强了文档的安全性,用户在编辑文档后在输入框中输入密码,然后单击“保护文档”,上传保存后别的用户则无法对文档进行编辑,需要输入正确的密码后才可编辑,接口描述如下:原 型: long ProtectDoc(long lProOrUn, long lType, BSTR strPWD);功 能:文档保护参 数:lProOrUn: 1:为保护文档 0:为解锁文档lType : 0 :文档保护,只允许修订 1 :文档保护,只允许批注 2 :文档完全保护,不允许任何操作strPWD:文档保护、解锁时所需设置的密码 返回值:示 例:/ 保护文档,只允许修订document.all.WebOffice1.ProtectDoc(1, 0, 12345); / 解锁文档document.all.WebOffice1.ProtectDoc(0, 0, 12345);如图所示:10042915390aef3d09dccc1c7f.jpg单击“禁止打印”可以防止非法用户对文档进行打印操作,单击“禁止复制”可以去掉word的复制粘贴功能,单击“允许复制”则恢复。相关的接口描述如下:原 型: long SetSecurity(long lFlag)功 能:设置文档安全选项参 数:lFlag:按位标记的控制开关。0x01表示不允许打印(当第一位为1时有效)0x02表示不允许保存(当第二位为1时有效)0x04表示不允许复制(当第三位为1时有效) 0x08表示不允许拖动(当第四位为1时有效)0x8000表示清除开关(当最高位为1时有效)返回值: 示 例:/禁止打印Object.SetSecurity(0x01); /恢复允许打印Object.SetSecurity(0x01 + 0x8000);/禁止保存Object.SetSecurity(0x02); /恢复允许保存Object.SetSecurity(0x02 + 0x8000);/禁止复制Object.SetSecurity(0x04); /恢复允许复制Object.SetSecurity(0x04 + 0x8000); /禁止打印、保存、复制Object.SetSecurity(0x01+0x02+0x04); /恢复允许打印、保存、复制Object.SetSecurity(0x01+0x02+0x04+0x8000);通过事件方式进行安全控制,原理是通过weboffice控件中的NotifyWordEvent事件捕获捕获部分Word/Excel/Wps事件,在事件执行前进行相关设置,从而对word文档进行安全控制。您没有权限查看这个主题的附件。hangel 帖子: 10 注册: 2010-07-12 10:39 页首WebOffice开发系列05-菜单控制由 hangel 2010-07-12 11:42 由于控件升级 现在控制菜单有两种方式:新接口:屏蔽菜单1.2003屏蔽所有的菜单,除了参数的4个菜单。2.2007 功能区隐藏。当 pcExcludeBar1= show 功能区显示,否则隐藏HideMenuArea(LPCTSTR pcExcludeBar1, LPCTSTR pcExcludeBar2, LPCTSTR pcExcludeBar3, LPCTSTR pcExcludeBar4)示例:隐藏offcie 2003所有菜单工具栏格式栏等document.all.WebOffice1.HideMenuArea(“”,”,”,”);效果如下:1004291736b3e45edd9e0a3714.jpg显示菜单栏,常用工具栏:document.all.WebOffice1.HideMenuArea(“Menu Bar”,”Standard”,”,”);隐藏 office 2007 功能区document.all.WebOffice1.HideMenuArea(“”,”,”,”);显示Word 2007 功能区document.all.WebOffice1.HideMenuArea(“show”,”,”,”);旧接口:Word 2003 :short SetToolBarButton2(VARIANT lIndex, VARIANT lID, VARIANT lControl);设置所有菜单项或者菜单项按钮的隐藏和现实lIndex:要显示隐藏的元素名称。根据Word/Excel 的不同版本,可能有部分不同 Standard:常用工具条 Formatting:格式化工具条 Menu Bar:菜单栏lID:要操作的菜单元素的位置lControl:按钮状态控制,按位控制,如该值为1时,它的二进制为0001,表示该菜单元素是显示但不可用第一位为:是否显示。0:隐藏;1:显示第二位为:是否可用。0:不可用;1:可用。第三位为:工具栏和菜单栏是否恢复到默认状态。0:不恢复;1:恢复。第四位为:是否隐藏整个菜单栏或工具栏,1为隐藏,0为显示示例:/隐藏菜单栏document.all.WebOffice1.SetToolBarButton2(Menu Bar,1,8);/显示菜单栏document.all.WebOffice1.SetToolBarButton2(Menu Bar,1,11);/隐藏常用工具栏document.all.WebOffice1.SetToolBarButton2(Standard,1,8);/显示常用工具栏document.all.WebOffice1.SetToolBarButton2(Standard,1,11);/隐藏格式工具栏document.all.WebOffice1.SetToolBarButton2(Formatting,1,8);/显示格式工具栏document.all.WebOffice1.SetToolBarButton2(Formatting,1,11);效果图如下:100429173778c902439dcacf57.jpg此时用户如果需要将自带工具栏也隐藏可以采用weboffice工具栏隐藏接口:document.all.WebOffice1.ShowToolBar=0;/ 0 隐藏 1 显示效果如图:100429173778c902439dcacf57.jpg1 小时前Word 2007:long HideMenuAction(short shMenuMode, long lValue);hMenuMode:设置模式:具体值及含义如下:0:Office2003以下,直接关闭菜单,暂未支持。可使用SetToolBarButton2接口控制1:Office2007以上,需要设置关闭菜单列表2:扩展值,暂无含义3:扩展值,暂无含义4:扩展值,暂无含义5:设置关闭菜单列表后,需调用此值激活。并第二个参数设置为0,具体见示例。6:恢复菜单显示及功能使用,第二个参数设置为0lValue:设置要隐藏的菜单及禁止复制、粘贴功能0x1000:十进制为4096-粘贴无效0x2000:十进制为8192复制无效0x100000:十进制为1048576开始菜单0x200000:十进制为2097152插入菜单0x400000:十进制为4194304页面布局菜单0x800000:十进制为8388608引用菜单0x1000000:十进制为16777216邮件菜单0x2000000:十进制为33554432审阅菜单0x4000000:十进制为67108864视图菜单0x8000000:十进制为134217728开发工具菜单0x10000000:十进制为268435456加载项菜单/设置粘贴无效document.all.WebOffice1. HideMenuAction(1,4096);/设置动作document.all.WebOffice1. HideMenuAction(5,0);/激活设置/设置复制无效document.all.WebOffice1. HideMenuAction(1,4096);document.all.WebOffice1. HideMenuAction(5,0);/设置开始菜单隐藏document.all.WebOffice1. HideMenuAction(1,1048576);document.all.WebOffice1. HideMenuAction(5,0);/设置多菜单隐藏(比如隐藏开始、插入、页面布局菜单)document.all.WebOffice1. HideMenuAction(1,1048576+2097152+4194304);document.all.WebOffice1. HideMenuAction(5,0);/恢复至设置之前状态(即正常状态)document.all.WebOffice1. HideMenuAction(6,0);您没有权限查看这个主题的附件。hangel 帖子: 10 注册: 2010-07-12 10:39 页首WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜色)由 hangel 2010-07-12 11:42 调节颜色:SetCustomColour(long lType, long lColour)lType: 设置肤色 custColorToolBarBKColor = 0, 底色custColorToolBarMiddleColor = 1, 中间色custColorToolBarTopColor = 2, 上色custColorToolBarBottomColor = 3, 下色lColour: 为颜色值 0-65535已经有的几个模式/淡紫色document.all.WebOffice1.SetCustomColour(2,243*256*256+244*256+250);document.all.WebOffice1.SetCustomColour(1,225*256*256+226*256+236);document.all.WebOffice1.SetCustomColour(3,153*256*256+151*256+181);document.all.WebOffice1.SetCustomColour(0,243*256*256+243*256+247);10042916135b8801f3fa7105a9.jpg/深蓝色document.all.WebOffice1.SetCustomColour(2,131*256*256+97*256+59);document.all.WebOffice1.SetCustomColour(1,239*256*256+216*256+138);document.all.WebOffice1.SetCustomColour(3,133*256*256+94*256+53);document.all.WebOffice1.SetCustomColour(0,130*256*256+92*256+52);1004291613e2bbbdebd085fd6d.jpg/浅黄色document.all.WebOffice1.SetCustomColour(2,220*256*256+235*256+254);document.all.WebOffice1.SetCustomColour(1,196*256*256+219*256+249);document.all.WebOffice1.SetCustomColour(3,136*256*256+174*256+228);document.all.WebOffice1.SetCustomColour(0,191*256*256+214*256+249);1004291613ff44a7d13695f472.jpg添加按钮:SetCustomToolBtn(long lIndex, LPCTSTR pcBtnText)设置自定义菜单的文字信息 系统内置了 5 个按钮。SetCustomToolBtn(0,test0);SetCustomToolBtn(1,test2);SetCustomToolBtn(2,test2);SetCustomToolBtn(3,test3);SetCustomToolBtn(4,test4);示例:document.all.WebOffice1.SetCustomToolBtn(0, new1);document.all.WebOffice1.SetCustomToolBtn(1, new2);document.all.WebOffice1.SetCustomToolBtn(2, new3);document.all.WebOffice1.SetCustomToolBtn(3, new4);document.all.WebOffice1.SetCustomToolBtn(4, new5);10042916131b6837953216bbe2.jpg如何实现自定义功能:首先页面中要加入js监听事件function WebOffice1_NotifyToolBarClick(iIndex)if(iIndex=32776)alert(iIndex+新加按钮触发的事件可在这里写自己的功能);您没有权限查看这个主题的附件。hangel 帖子: 10 注册: 2010-07-12 10:39 页首WebOffice开发系列08-文件上传到服务器由 hangel 2010-07-12 11:43 文件上传到服务器,目前WebOffice支持四种模式:1. WebOffice 内部发起HTTP协议的发送,采用Post模式。(详细的说明,可以参照开发文档)WebOffice控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。注:点聚WebOffice的上传接口和AIP是一致的。原理因为Web页面上的WebOffice打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。主要上传接口:lHttpInit();该方法用于初始化上传接口,不需要设置参数HttpAddPostString(String FieldName, String someValue);添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值例一:HttpAddPostString(username, zhangSan);它类似域表单域的例二:HttpAddPostString(username, WebForm.username.value);.注意:如果使用点聚上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。HttpAddPostCurrFile(String fileName, String ReName);添加当前WebOffice编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。例一:HttpAddPostCurrFile(AipFile, );该接口模拟表单文件域如下:注意:第二个参数为空表示控件自动为文件命名,如:dj_temp.aip,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。HttpPost(String url);执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。url支持绝对路径和相对路径。绝对路径,例如:/savedoc.asp相对路径要以“./”或者“./”开头。例如:./savedoc.asp完整的上传接口演示function SaveDoc() var returnValue; / 保存页面的返回值document.all.WebOffice1.HttpInit(); / 初始化Http引擎/ 添加相应的Post元素 document.all.WebOffice1.HttpAddPostString(username, WebForm. username.value);/ 添加上传文件document.all.WebOffice1.HttpAddPostCurrFile(AipFile ,); / 提交上传文件returnValue = document.all.WebOffice1.HttpPost(./saveDoc.jsp);if(true = returnValue)alert(文件上传成功); else alert(文件上传失败)WebOffice上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了-JSP上传代码-上传按钮的onclick事件里内容:var webObj=document.getElementById(WebOffice1);webObj.HttpInit();webObj.HttpAddPostCurrFile(FileBlody);/上传当前文件 webObj.HttpAddPostString(name,name);/可以通过我们的控件将一些需要传到服务器的其他内容随文档一起上传returnValue = webObj.HttpPost(:8080/TestWebOffice/saveDoc.jsp);if(ok = returnValue)alert(上传成功!); else if(failed = returnValue)alert(上传失败!);接收页面saveDoc.jsp使用了上传组件SmartUpload-JSP上传代码 END-2. 通过AJAX上传二进制数据原理:AJAX负责上传数据。WebOffice负责把组织待上传的数据。-例子-/创建AJAX对象function createXMLHttpRequest()var xmlHttp = null;if (window.ActiveXObject)xmlHttp = new ActiveXObject(Microsoft.XMLHTTP)else if (window.XMLHttpRequest)xmlHttp = new XMLHttpRequest();return xmlHttp;/发送数据function Send2()var xmlHttp = this.createXMLHttpRequest();var webObj=document.getElementById(WebOffice1); webObj.HttpInit(); /初始化Http引擎/ 添加相应的Post元素 webObj.HttpAddPostString(id, 0);webObj.HttpAddPostString(DocTitle, Test001);webObj.HttpAddPostString(DocID, Test001);webObj.HttpAddPostString(DocType,doc);webObj.HttpAddPostCurrFile(DocContent,);/设置接受数据的页面。采用同步发送机制。xmlHtt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB61T 871-2014 玉米 登海702规范
- DB61T 853-2014 小麦 西高三号规范
- DB61T 808-2014 玉米 兴民18规范
- 维修框架合同(标准版)
- 婚纱摄影合同(标准版)
- 储备物资分类与标签管理方案
- 2025四川广元市旺苍县总工会招聘2名工会社会工作者备考练习题库及答案解析
- 施工现场消防安全控制方案
- 2025年滁州凤阳县人民医院派遣项目招聘1名考试参考试题及答案解析
- 城市污水管网管道沿线环境评估方案
- 4.《花之歌》教学设计-2024-2025学年统编版语文六年级上册
- 诉讼业务培训课件
- 12345热线培训课件
- 危险废弃物管理培训试题(附答案)
- 2025国投生物制造创新研究院有限公司招聘(31人)考试备考试题及答案解析
- 多彩的超轻泥教学课件
- 新学期,新征程+课件-2025-2026学年高二上学期开学第一课主题班会
- 赛事租赁用品租赁模式分析报告
- 学校防坠楼安全知识培训课件
- 护士长领导力提升与团队管理技巧
- 产前筛查答案及试题(附答案)
评论
0/150
提交评论