WebOffice开发系列指南
WebOffice开发系列01-自动下载安装组件(B/S)
WebOffice开发系列02-如何打开文件
WebOffice开发系列03-修订留痕
WebOffice开发系列04-安全控制 (防止复制、打印、保存)
WebOffice开发系列05-菜单控制
WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜)
WebOffice开发系列08-文件上传到服务器
WebOffice开发系列09-其他功能-全屏-VBA

webOffice控件自动下载是指在打开网页时,网页会自动把webOffice控件下载下来,从而可以将wordexcel嵌入到网页中。控件自动下载的相关代码如下:

< object id=WebOffice height=768 width="100%"
classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5" codebase="../#version=6,0,4,0">
<param name="_ExtentX" value="6350">
<param name="_ExtentY" value="6350">
</object>

上面的脚本意思是: 自动更新classid= FF1FE7A0-0578-4FEE-A34E-FB21B277D561 COM组件,
更新地址为 ../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,值为空表示新建文档,如果是在HttpWeb环境下,可以传相对路径.
pcType:
doc:打开、新建Word文件
xls:打开、新建Excel文件
ppt:打开、新建PPT 文件
wps:打开、新建WPS 文件
返回值:
0:失败
0:成功
web下载官方下载示 例:
// 通过URL打开一个服务器文件,getdoc.asp代码见演示文件
document.all.WebOffice1.LoadOriginalFile("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界面的问题。
<SCRIPT language=javascript event=NotifyCtrlReady for=WebOffice1>
/****************************************************
*
* 在装载完Weboffice(执行<object>...</object>)
* 控件后执行 "WebOffice1_NotifyCtrlReady"方法
*
****************************************************/

WebOffice1_NotifyCtrlReady()
</SCRIPT>

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 = "删除";
}else{
vOpt = "未知操作";
}
vDate = new String(document.all.WebOffice1.GetRevInfo(i,1));
vDate = parseFloat(vDate);
dateObj = new Date(vDate);
Year() + "" + Month() + 1 + "" + Date() +"" + Hours() +"" + Minutes() +"" + Seconds() +"" );
alert("用户:"+document.all.WebOffice1.GetRevInfo(i,0) + "\r\n操作:" + vOpt + "\r\n内容:" + 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);

效果图如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。