WebOffice开发系列指南.docx
- 文档编号:152122
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:19
- 大小:24.73KB
WebOffice开发系列指南.docx
《WebOffice开发系列指南.docx》由会员分享,可在线阅读,更多相关《WebOffice开发系列指南.docx(19页珍藏版)》请在冰点文库上搜索。
WebOffice开发系列指南
WebOffice开发系列指南
WebOffice开发系列01-自动下载安装组件(B/S)
WebOffice开发系列02-如何打开文件
WebOffice开发系列03-修订留痕
WebOffice开发系列04-安全控制(防止复制、打印、保存)
WebOffice开发系列05-菜单控制
WebOffice开发系列06-自定义工具栏(添加工具栏按钮、调节工具栏颜色)
WebOffice开发系列08-文件上传到服务器
WebOffice开发系列09-其他功能-全屏-VBA
webOffice控件自动下载是指在打开网页时,网页会自动把webOffice控件下载下来,从而可以将word、excel嵌入到网页中。
控件自动下载的相关代码如下:
style="LEFT: 0px;TOP: 0px"classid="clsid: E77E049B-23FC-4DB8-B756-60529A35FAD5"codebase="../js/WebOffice1.ocx#version=6,0,4,0"> 上面的脚本意思是: 自动更新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,其接口描述如下: 原型: longLoadOriginalFile(BSTRpcFileNameOrUrl,BSTRpcType); 功能: 新建、装载Office文档 参数: pcFileNameOrUrl: 要装载文件的本地路径或者URL,值为空表示新建文档,如果是在Http的Web环境下,可以传相对路径. pcType: doc: 打开、新建Word文件 xls: 打开、新建Excel文件 ppt: 打开、新建PPT文件 wps: 打开、新建WPS文件 返回值: 为0: 失败 非0: 成功 示例: //通过URL打开一个服务器文件,getdoc.asp代码见演示文件 document.all.WebOffice1.LoadOriginalFile("http: //127.0.0.1/getdoc.asp? id=8","doc"); //通过URL打开一个服务器文件,相对路径 document.all.WebOffice1.LoadOriginalFile("/getdoc.asp? id=8","doc"); document.all.WebOffice1.LoadOriginalFile("./getdoc.asp? id=8","doc"); //新建Excel document.all.WebOffice1.LoadOriginalFile("","xls"); ==================特别注意=============================== 建议在NotifyCtrlReady事件中调用LoadOriginalFile接口,否则有可能出现Word窗口脱离IE界面的问题。 /**************************************************** * *在装载完Weboffice(执行) *控件后执行"WebOffice1_NotifyCtrlReady"方法 * ****************************************************/ WebOffice1_NotifyCtrlReady() WebOffice1_NotifyCtrlReady(){ document.all.WebOffice1.LoadOriginalFile("","doc"); } 您没有权限查看这个主题的附件。 hangel 帖子: 10 注册: 2010-07-1210: 39 页首 WebOffice开发系列03-修订留痕 由hangel»2010-07-1211: 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); 单击“获取修订信息”则会获取所有对文档进行修订的用户的相关信息及修订日期,接口描述如下: 原型: BSTRGetRevInfo(longlIndex,longlType); 功能: 获取修订节点的信息(修订人,修订的时间,修订的动作) 参数: lIndex: 修订的节点编号 lType: 获取的信息编号 返回值: 示例: //1.获取修订的用户 vUserName=document.all.WebOffice1.GetRevInfo(i,0); //2.获取修订的时间 vDate=newString(document.all.WebOffice1.GetRevInfo(i,1)); //3.获取修订的动作 varvRet=document.all.WebOffice1.GetRevInfo(i,2); vRet=="1": 表示"插入"的操作 vRet=="2": 表示"删除"的操作 //4.获取修订的内容 vUserName=document.all.WebOffice1.GetRevInfo(i,3); //总体的例子代码 varvCount; vCount=document.all.WebOffice1.GetRevCount(); varvOpt=0; varvDate; for(vari=1;i<=vCount;i++){ vOpt=document.all.WebOffice1.GetRevInfo(i,2); if("1"==vOpt){ vOpt="插入"; }elseif("2"==vOpt){ vOpt="删除"; }else{ vOpt="未知操作"; } vDate=newString(document.all.WebOffice1.GetRevInfo(i,1)); vDate=parseFloat(vDate); dateObj=newDate(vDate); alert(dateObj.getYear()+"年"+dateObj.getMonth()+1+"月"+dateObj.getDate()+"日"+dateObj.getHours()+"时"+dateObj.getMinutes()+"分"+dateObj.getSeconds()+"秒"); alert("用户: "+document.all.WebOffice1.GetRevInfo(i,0)+"\r\n操作: "+vOpt+"\r\n内容: "+document.all.WebOffice1.GetRevInfo(i,3)); } 100429153626ae947d8d6fde50.jpg 您没有权限查看这个主题的附件。 hangel 帖子: 10 注册: 2010-07-1210: 39 页首 WebOffice开发系列04-安全控制(防止复制、打印、保存) 由hangel»2010-07-1211: 41 Weboffice可以对word文档实行全面的安全控制,增强了文档的安全性,用户在编辑文档后在输入框中输入密码, 然后单击“保护文档”,上传保存后别的用户则无法对文档进行编辑,需要输入正确的密码后才可编辑,接口描述如下: 原型: longProtectDoc(longlProOrUn,longlType,BSTRstrPWD); 功能: 文档保护 参数: 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的复制粘贴功能,单击“允许复制”则恢复。 相关的接口描述如下: 原型: longSetSecurity(longlFlag) 功能: 设置文档安全选项 参数: 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-1210: 39 页首 WebOffice开发系列05-菜单控制 由hangel»2010-07-1211: 42 由于控件升级现在控制菜单有两种方式: 新接口: 屏蔽菜单 1.《2003屏蔽所有的菜单,除了参数的4个菜单。 2.《2007功能区隐藏。 当pcExcludeBar1="show"功能区显示,否则隐藏 HideMenuArea(LPCTSTRpcExcludeBar1,LPCTSTRpcExcludeBar2,LPCTSTRpcExcludeBar3,LPCTSTRpcExcludeBar4) 示例: 隐藏offcie2003所有菜单工具栏格式栏等 document.all.WebOffice1.HideMenuArea(“”,””,””,””); 效果如下: 1004291736b3e45edd9e0a3714.jpg 显示菜单栏,常用工具栏: document.all.WebOffice1.HideMenuArea(“MenuBar”,”Standard”,””,””); 隐藏office2007功能区 document.all.WebOffice1.HideMenuArea(“”,””,””,””); 显示Word2007功能区 document.all.WebOffice1.HideMenuArea(“show”,””,””,””); 旧接口: Word2003: shortSetToolBarButton2(VARIANTlIndex,VARIANTlID,VARIANTlControl); 设置所有菜单项或者菜单项按钮的隐藏和现实 lIndex: 要显示隐藏的元素名称。 根据Word/Excel的不同版本,可能有部分不同 └Standard: 常用工具条 └Formatting: 格式化工具条 └MenuBar: 菜单栏 lID: 要操作的菜单元素的位置 lControl: 按钮状态控制,按位控制,如该值为1时,它的二进制为0001,表示该菜单元素是显示但不可用第一位为: 是否显示。 0: 隐藏;1: 显示第二位为: 是否可用。 0: 不可用;1: 可用。 第三位为: 工具栏和菜单栏是否恢复到默认状态。 0: 不恢复;1: 恢复。 第四位为: 是否隐藏整个菜单栏或工具栏,1为隐藏,0为显示 示例: //隐藏菜单栏 document.all.WebOffice1.SetToolBarButton2("MenuBar",1,8); //显示菜单栏 document.all.WebOffice1.SetToolBarButton2("MenuBar",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.jpg 1小时前 Word2007: longHideMenuAction(shortshMenuMode,longlValue); hMenuMode: 设置模式: 具体值及含义如下: 0: Office2003以下,直接关闭菜单,暂未支持。 可使用SetToolBarButton2接口控制 1: Office2007以上,需要设置关闭菜单列表 2: 扩展值,暂无含义 3: 扩展值,暂无含义 4: 扩展值,暂无含义 5: 设置关闭菜单列表后,需调用此值激活。 并第二个参数设置为0,具体见示例。 6: 恢复菜单显示及功能使用,第二个参数设置为0 lValue: 设置要隐藏的菜单及禁止复制、粘贴功能 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-1210: 39 页首 WebOffice开发系列06-自定义工具栏(添加工具栏按钮、调节工具栏颜色) 由hangel»2010-07-1211: 42 调节颜色: SetCustomColour(longlType,longlColour) 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(longlIndex,LPCTSTRpcBtnText) 设置自定义菜单的文字信息系统内置了5个按钮。 SetCustomToolBtn(0,"test0"); SetCustomToolBtn(1,"test2"); SetCustomToolBtn(2,"test2"); SetCustomToolBtn(3,"test3"); SetCustomToolBtn(4,"test4"); 示例: document.all.Web
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WebOffice 开发 系列 指南