WebOffice开发系列指南

  • 格式:doc
  • 大小:90.00 KB
  • 文档页数:14

WebOffice开发系列指南

WebOffice开发系列01-自动下载安装组件(B/S)

WebOffice开发系列02-如何打开文件

WebOffice开发系列03-修订留痕

WebOffice开发系列04-安全控制

(防止复制、打印、保存)

WebOffice开发系列05-菜单控制

WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜色)

WebOffice开发系列08-文件上传到服务器

WebOffice开发系列09-其他功能-全屏-VBA

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

< object id=WebOffice height=768 width="100%"

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,其接口描述如下:

原 型: 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("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界面的问题。

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);

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-12 10:39

页首

WebOffice开发系列04-安全控制 (防止复制、打印、保存)

hangel » 2010-07-12 11:41

Weboffice可以对word文档实行全面的安全控制,增强了文档的安全性,用户在编辑文档后在输入框中输入密码,

然后单击“保护文档”,上传保存后别的用户则无法对文档进行编辑,需要输入正确的密码后才可编辑,接口描述如下:

原 型: long ProtectDoc(long lProOrUn, long lType, BSTR strPWD);

功 能:文档保护

参 数: