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文件用于测试表单元素和文件上传。