WebOffice-开发文档

2.2.5 IsModify 原 型: BOOL IsModify;

说 明:判断文档是否被修改,需要在LoadOrigarFile之前设置 OptionFlag |= 0x0400 才有效。

2.2.6 ShowToolBar 原 型: BOOL ShowToolBar; 说 明:是否显示工具栏。 数 值: 1:显示工具栏 ;

0:隐藏工具栏

2.2.7 OptionFlag 原 型: long OptionFlag;

说 明:系统标志位,可读写。此属性比较重要,可以作为各种控制开关。 数 值:

OPTIONFLAG_WORD_07SAVETO03 0x0001(Office2007保存为兼容格式) OPTIONFLAG_EXCEL_07SAVETO03 0x0002(Office2007保存为兼容格式) OPTIONFLAG_HTTPSAVEENC 0x0004(HttpPost时候文件加密压缩) OPTIONFLAG_SETFILEDVALUE 0x0008(书签操作后删除盖书签) OPTIONFLAG_NODELWORDNORMAL 0x0010(清除Word的模板文件)

OPTIONFLAG_NOENCOUDEURL 0x0020(设置URL的是否UTF8编码) OPTIONFLAG_SHOWPRESS 0x0080(是否显示进度条) OPTIONFLAG_DOCSHA1 0x0400(设置此项则IsModify有效) 示 例:

//1.调用LoadOriginalFile打开URL上路径的时候 // 如果对URL进行UTF8编码就调用 Obj.OptionFlag |= 0x0020;

// 如果不对URL编码调用下面这句(默认) Obj.OptionFlag &= 0xffdf;

Obj.LoadOriginalFile(\//2.在上传和下载的时候

//调用下面语句,则显示进度条: Obj.OptionFlag |= 0x0080;

//调用下面语句,则不显示进度条(默认): Obj.OptionFlag &= 0xff7f;

//3.在上传时候设置是否对文件加密和压缩 //调用下面语句,则对文件加密和压缩: Obj.OptionFlag |= 0x0004;

//调用下面语句,则不对文件加密和压缩(默认):

Obj.OptionFlag &= 0xfffc;

2.2.8 Is2007 原 型: long Is2007;

功 能:判断是否Office2007,只读 参 数: 返回值:

1:是2007版本 0:不是2007版本 示 例:

//判断当前Office是不是2007版本 document.all.WebOffice1. Is2007();

2.2.9 lContinue 原 型: long lContinue;

功 能:用于NotifyWordEvent的处理函数中,可以终止相应事件的继续执行 参 数: 返回值:

1:可以继续执行(默认) 0:终止默认操作 示 例:

//禁止关闭当前的Word/Excel/Wps文档 OnNotifyWordEvent(BSTR strEventName) {

if(strEventName == “DocumentBeforeClose”) {

lContinue = 0; } }

2.3 事件

2.3.1

NotifyWordEvent 原 型: void NotifyWordEvent(BSTR strEventName); 说 明:捕获部分Word/Excel/Wps事件。

参数:strEventName?Word/Excel的事件名,可能是以下的数值

DocumentChange

DocumentBeforeClose DocumentBeforePrint DocumentBeforeSave

备注:本事件在本版本扩展到Excel和Wps的支持,且可以终止该事件的继续执行(使用属性lContinue)。

2.3.2 NotifyCtrlReady 原 型: void NotifyCtrlReady();

说 明:当控件准备完毕后触发,一般在这个事件中完成初始化的操作。

2.3.3 NotifyToolBarClick 原 型: void NotifyToolBarClick(long iIndex); 参 数:

long iIndex : 工具栏按钮ID。

ID_RETURN 32769 ID_NEW 32770 ID_OPEN 32771 ID_SAVEAS 32772 ID_FULLSCREAN 32773 ID_PRINT 32774 ID_PRINTVIEW 32775

说 明:

每个按钮都有默认的处理动作,如果不希望触发默认的处理动作,需要在此时间中设置属性lEventRet = 0;

以下实例截获了SAVEAS的按钮事件。 //1. 定义事件处理函数

//2. 截获处理事件

function WebOffice1_NotifyToolBarClick(lCmd) { if(32772==lCmd) {

document.all.WebOffice1.lEventRet = 0; } }

三、ASP例子说明

3.1 Access数据库结构

表doc

======================================== id 自动编号 DocID 文本(10) DocTitle 文本(10) DocType 文本(15) DocData 日期/时间 DocContent OLE 对象

======================================== 说明:DocContent为上传的Office文档的数据,为二进制数据类型,如果使用SQLServer请改为Image类型。

3.2 演示程序主要页面说明

config.asp 取得服务器的项目文件目录,赋值给Application对象,供接口调用 docEidt.asp 调用weboffice控件在线编辑word,并提交给savedoc.jsp页面上传保存word文档

saveDoc.asp 保存表单元素和上传的word文件

getDoc.asp 取得数据库中的记录并返回给调用它的页面 debug.htm 用于调试数据传送到saveDoc.asp页 template 用于存放红头文件的模板

3.3 开发必读

1) 调用控件的时候尽量在控件ID前加“document.all”,如:

document.all.WebOffice1

2) Javascirpt区分大小写,使用时请注意。 3) WebOffice控件为VC++6编写,控件的所有方法和参数区分大小写,请严格参考本手册。 4) 在本控件的演示程序中,有个debug.hml文件用于测试表单元素和文件上传。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4