WebOffice开发接口SDK.docx

上传人:b****8 文档编号:10572059 上传时间:2023-02-21 格式:DOCX 页数:51 大小:36.49KB
下载 相关 举报
WebOffice开发接口SDK.docx_第1页
第1页 / 共51页
WebOffice开发接口SDK.docx_第2页
第2页 / 共51页
WebOffice开发接口SDK.docx_第3页
第3页 / 共51页
WebOffice开发接口SDK.docx_第4页
第4页 / 共51页
WebOffice开发接口SDK.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

WebOffice开发接口SDK.docx

《WebOffice开发接口SDK.docx》由会员分享,可在线阅读,更多相关《WebOffice开发接口SDK.docx(51页珍藏版)》请在冰豆网上搜索。

WebOffice开发接口SDK.docx

WebOffice开发接口SDK

 

WebOffice文档控件

开发文档

北京点聚信息技术有限公司

2008/05/08

北京点聚信息技术有限公司(以下简称“点聚”)尽最大努力使这篇文章中的内容完善且正确。

点聚对于由这篇文档导致的任何形式的直接或间接损失不负有责任。

这篇文章的内容会跟随产品的升级而有所变化。

标记

名称:

WebOffice开发文档

状态:

发布

部门:

研发部

文档ID:

WebOffice-01-001

更新记录

版本

时间

备注

6.0.3.0

2009-08

1.增加了Is2007属性,判断当前版本是否Office2007。

2.增加了lContinue属性,可以在Word、excel事件处理中终止该事件操作。

3.增加了HideMenuAction方法,能够对Office2007菜单进行控制。

4.修改了新建、打开文档闪的问题。

现在直接打开,没有闪烁。

5.修改了EXCEL打开无菜单项的BUG

6.0.2.0

2009-02

6.增加了工具栏按钮事件

7.扩展了GetDocumentObject接口导出PPT的

:

_Presentation>对象

8.增加SaveAsPDF方法,无须安装Adobe即可直接输出PDF

9.增加IsModify属性,判断文档是否修改

10.增加GetFileSize方法,判断文档的大小

11.增加了Word中的事件捕获。

6.0.0.0

2008-10

1.增加了工具栏

2.增加了WPS的支持

3.增加了上传文件的压缩和加密

5.0.8.2

2008-05

1.设置了对文档安全的控制

2.清除了对Word模板的修改

5.0.8.0

2008-03

1.支持自定义的菜单,并跟Javascript绑定

5.0.1.4

2007-10

1.可以设置文档打开密码和可写密码,支持Word、Excel

2.设置Word中的变量,可以更新关联的域

3.扩展了这个接口,支持Http下的相对路径

软件开发协议

北京点聚信息技术有限公司(以下简称点聚)的所有产品,包括但不限于:

开发工具包,磁盘,光盘,硬件设备和文档,以及未来的所有定单都受本协议的制约。

如果您不愿接受这些条款,请在收到后的7天内将开发工具包寄回点聚,预付邮资和保险。

我们会把货款退还给您,但要扣除运费和适当的手续费。

1.许可使用

您可以将本软件合并、连接到您的计算机程序中,但其目的只是如开发指南中描述的那样保护该程序。

您可以以存档为目的复制合理数量的拷贝。

2.禁止使用

除在条款1中特别允许的之外,不得复制、反向工程、反汇编、反编译、修改、增加、改进软件、硬件和产品的其它部分。

禁止对软件和产品的任何部分进行反向工程,或企图推导软件的源代码。

禁止使用产品中的磁性或光学介质来传递、存储非本产品的原始程序或由点聚提供的产品升级的任何数据。

禁止将软件放在服务器上传播。

3.有限担保

点聚保证在自产品交给您之日起的12个月内,在正常的使用情况下,硬件和软件存储介质没有重大的工艺和材料上的缺陷。

4.修理限度

当根据本协议提出索赔时,点聚唯一的责任就是根据点聚的选择,免费进行替换或维修。

点聚对更换后的任何产品部件都享有所有权。

保修索赔单必须在担保期内写好,在发生故障14天内连同令人信服的证据交给点聚。

当将产品返还给点聚或点聚的授权代理商时,须预付运费和保险。

除了在本协议中保证的担保之外,点聚不再提供特别的或隐含的担保,也不再对本协议中所描述的产品负责,包括它们的质量,性能和对某一特定目的的适应性。

5.责任限度

不管因为什么原因,不管是因合同中的规定还是由于刑事的原因,包括疏忽的原因,而使您及任何一方受到了损失,由我方产品所造成的损失或该产品是起诉的原因或与起诉有间接关系,点聚对您及任何一方所承担的全部责任不超出您购买该产品所支付的货款。

在任何情况下,点聚对于由于您不履行责任所导致的损失,或对于数据、利润、储蓄或其它的后续的和偶然的损失,即使点聚被建议有这种损失的可能性,或您根据第3方的索赔而提出的任何索赔均不负责任。

6.协议终止

当您不能遵守本协议所规定的条款时,将终止您的许可和本协议。

但条款2,3,4,5将继续有效。

7.针对WebOffice的特别条款

WebOffice为免费版本软件,可以使用于个人开发和商业用途中。

点聚将提供有限的技术服务。

 

 

一、工作原理

点聚WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。

1.1开发流程

├装载控件...

├触发初始化方法

--

WebOffice1_NotifyCtrlReady()

//-->

├执行初始化方法,打开新文档或装载已经存在的文档

functionWebOffice1_NotifyCtrlReady(){

document.all.WebOffice1.LoadOriginalFile("…","…");

}

├根据当前步骤,来决定是否进入修订状态,如果是修订状态,最好设置当前的用户名

functionWebOffice1_NotifyCtrlReady(){

document.all.WebOffice1.LoadOriginalFile("…","…");

document.all.WebOffice1.SetCurrUserName("张三");

document.all.WebOffice1.SetTrackRevisions

(1);

}

├填写表单元素,编辑Office文档

├执行Http上传接口保存表单元素和Office文档

//保存文档之前,如果需要接受修订,需要调用

document.all.WebOffice1.SetTrackRevisions(4);

//通过Http接口上传

document.all.WebOffice1.HttpInit();

document.all.WebOffice1.HttpAddPostString("…","…");

document.all.WebOffice1.HttpAddPostCurrFile("…","…");

document.all.WebOffice1.HttpPost("…")

├saveDoc.asp获取表单数据和Office进行数据库操作,并返回操作是否正确。

├根据saveDoc.asp返回值进行相应操作。

1.2WEB页面调用控件:

0px;TOP:

0px"

classid="clsid:

E77E049B-23FC-4DB8-B756-60529A35FAD5"codebase=WebOffice.ocx#Version=3,0,0,0>

主要参数说明:

id控件在网页的别名,可以通过别名调用控件的方法、属性

width控件的宽度,可以使用绝对大小,如width="100px"。

height控件的高度

codebase设置控件自动下载的路径,用户如果没有安装控件,系统会自动访问codebase的路径下载控件;“#Version”后的是控件的版本,如果用户当前的软件版本低于“#Version”后面的版本,系统也会自动下载最新的控件

注意:

如果控件的width和height属性使用%表示,则要明确指明它所在的容器的大小,如把控件放到表格内,则要明确指明表格的width和height的绝对值。

二、接口说明

2.1接口

2.1.1AboutBox

原型:

voidAboutBox();

功能:

显示WebOffice版本信息

返回值:

示例:

document.all.WebOffice1.AboutBox();

2.1.2AcceptAllRevisions

原型:

longAcceptAllRevisions();

功能:

接受当前文档所有修订

返回值:

0:

接受修订成功

非零:

接受修订失败

示例:

document.all.WebOffice1.AcceptAllRevisions();

2.1.3AddMenu

原形:

AddMenu(LPCTSTRcMenuName,LPCTSTRcChildName,longiIndex,LPCTSTRcBindJSFun)

功能:

(保留)

参数:

返回值:

示例:

2.1.4BookMarkOpt

原型:

longBookMarkOpt(BSTRstrBookMarks,longlType);

功能:

获取文档书签列表(保留)

参数:

返回值:

示例:

2.1.5CloseDoc

原型:

longCloseDoc(longblReqSaved);

功能:

关闭当前文档

参数:

blReqSaved:

0:

关闭文档,不保存当前修改。

1:

关闭文档,保存当前修改。

2:

如果文档已经被修改,显示保存文档对话框,否则直接关闭。

其它:

关闭文档,保存当前修改。

返回值:

0:

失败

非零:

成功

示例:

//关闭当前文档,不保存当前修改。

document.all.WebOffice1.CloseDoc(0);

2.1.6ConvertToAip

原型:

shortConvertToAip(shortnAddOriFile,shortnSupport)

功能:

把当前通过LoadOriginalFile打开的原始文件直接转化成AIP文件。

参数:

nAddOriFile:

是否装载原始文件。

0:

不装载。

非0:

装载原始文件。

nSupport:

是否以普通方式(即解析文档的书签)打开。

0:

不解析。

非0:

解析。

返回值:

0:

转化失败

非零:

转化成功

示例:

document.all.WebOffice1.ConvertToAip(1,1);

2.1.7CreateApp

原型:

shortCreateApp(BSTRstrAppName);

功能:

(保留)

参数:

返回值:

示例:

2.1.8DelLocalFile

原型:

longDelLocalFile(BSTRstrFilePathName);

功能:

删除本地文件

参数:

strFilePathName:

本地文件的绝对路径。

返回值:

0:

删除成功

非零:

删除失败

示例:

document.all.WebOffice1.DelLocalFile("c:

\\111.doc");

2.1.9DownLoadFile

原型:

shortDownLoadFile(LPCTSTRstrHttpFileURL,LPCTSTRstrLocalFilePath,LPCTSTRstrTitle,LPCTSTRstrFileType)

功能:

下载远程服务器文件,当设置OptionFlag|=0x0080会弹出文件下载进度条。

参数:

strHttpFileURL:

服务器文件路径。

strLocalFilePath:

保存的本地文件路径,如为空则弹出文件保存对话框。

strTitle:

文件保存对话框的默认文件名,仅当strLocalFilePath为空有效。

strFileType:

默认文件类型,仅当strLocalFilePath为空有效。

 

返回值:

0:

成功

非零:

失败

示例:

obj.DownLoadFile("","c:

\\111.sel","","");

obj.DownLoadFile("","","标题","doc");

2.1.10ExcProtectSharing

原型:

longExcProtectSharing(BSTRstrPassword,BSTRstrWriteResPassword,shortbReadOnlyRecommended,BSTRstrSharingPassword);

功能:

(保留)

参数:

返回值:

示例:

 

2.1.11ExcUnprotectSharing

原型:

longExcUnprotectSharing(BSTRstrSharingPassword);

功能:

(保留)

参数:

返回值:

示例:

2.1.12FtpConnect

原型:

longFtpConnect(BSTRstrURL,longlPort,BSTRstrUser,BSTRstrPwd);

功能:

FTP相关(保留)

参数:

返回值:

示例:

2.1.13FtpDisConnect

原型:

longFtpDisConnect();

功能:

FTP相关(保留)

参数:

返回值:

示例:

2.1.14FtpGetFile

原型:

longFtpGetFile(BSTRstrRemoteFile,BSTRstrLocalFile);

功能:

FTP相关(保留)

参数:

返回值:

示例:

2.1.15GetDocumentObject

原型:

IDispatch*GetDocumentObject();

功能:

获取文档对象的ActiveDocument对象,此接口非常重要,基本所有的VBA功能都可以通过这个接口来实现。

参数:

返回值:

ActiveDocument对象的Dispatch

示例:

/*以下的JavaScript为采用ActiveDocument的方式直接操作VBA,向DOC文档的书签中加入一个图片。

functionAddPicture(strMarkName,strBmpPath,vType)

在书签位置插入图片,

strMarkName书签的名称

strBmpPath 图片的路径

vType      插入后的图片的样式,5为浮动在文字上面

AddPicture("test1","d:

\\111.bmp",5);

AddPicture("test1","d:

\\111.bmp",128);

*/

functionAddPicture(strMarkName,strBmpPath,vType)

{

//定义一个对象,用来存储ActiveDocument对象

        varobj;

        obj=newObject(document.all.WebOffice1.GetDocumentObject());

        if(obj!

=null){

          varpBookMarks;

//VAB接口获取书签集合

                  pBookMarks=obj.Bookmarks;

                  varpBookM;

//VAB接口获取书签strMarkName

                  pBookM=pBookMarks(strMarkName);

                  varpRange;

//VAB接口获取书签strMarkName的Range对象

                  pRange=pBookM.Range;

                  varpRangeInlines;

//VAB接口获取书签strMarkName的Range对象的InlineShapes对象

                  pRangeInlines=pRange.InlineShapes;

                  varpRangeInline;

//VAB接口通过InlineShapes对象向文档中插入图片

                  pRangeInline=pRangeInlines.AddPicture(strBmpPath); 

//设置图片的样式,5为浮动在文字上面

                  pRangeInline.ConvertToShape().WrapFormat.TYPE=vType;

                  deleteobj; 

   }

}

 

2.1.16GetFieldValue

原型:

BSTRGetFieldValue(BSTRstrFieldName,BSTRstrSheetName);

功能:

获得书签位置的数值

参数:

strFieldName:

书签的名字

strSheetName:

预留字段(值为空)

返回值:

返回书签的值

示例:

//获得书签的值

varstrFieldValue=document.all.WebOffice1.GetFieldValue("mark_1","")

2.1.17GetTempFilePath

原型:

BSTRGetTempFilePath();

功能:

获得临时文件路径

参数:

返回值:

当前文件的临时路径

示例:

varstrTempPath=document.all.WebOffice1.GetTempFilePath();

2.1.18GetRevCount

原型:

longGetRevCount();

功能:

获取修订节点的个数

参数:

返回值:

获取修订节点的个数

示例:

 

2.1.19GetRevInfo

原型:

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

}

2.1.20GetFileSize

原型:

longGetFileSize(LPCTSTRstrFilePath);

功能:

获取本地文件的大小

参数:

返回值:

示例:

varvLen=obj.GetFileSize("c:

\\111.doc");

2.1.21GetBookMarkCount

原型:

longGetBookMarkCount();

功能:

获取文档中书签的总数量

参数:

返回值:

示例:

GetFileSize

2.1.22GetBookMarkInfo

原型:

BSTRGetBookMarkInfo(longlIndex,longlType);

功能:

获取各书签的信息(名称和变量)

参数:

返回值:

示例:

varvBKCount;

vBKCount=document.all.WebOffice1.GetBookMarkCount();

variIndex;

varvName;

varvValue;

varvShowInfo;

vShowInfo="";

for(iIndex=1;iIndex<=vBKCount;iIndex++){

vName=document.all.WebOffice1.GetBookMarkInfo(iIndex,0);

vValue=document.all.WebO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1