WebOffice-开发文档

示 例:

2.1.15 GetDocumentObject 原 型: IDispatch* GetDocumentObject(); 功 能:

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

返回值: ActiveDocument对象的Dispatch 示 例:

/* 以下的JavaScript为采用ActiveDocument的方式直接操作VBA,向DOC文档的书签

中加入一个图片。

function AddPicture(strMarkName,strBmpPath,vType) 在书签位置插入图片, strMarkName 书签的名称 strBmpPath 图片的路径

vType 插入后的图片的样式,5为浮动在文字上面 AddPicture(\ AddPicture(\ */

function AddPicture(strMarkName,strBmpPath,vType) {

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

obj = new Object(document.all.WebOffice1.GetDocumentObject()); if(obj !=null){

var pBookMarks;

// VAB接口获取书签集合

pBookMarks = obj.Bookmarks; var pBookM;

// VAB接口获取书签strMarkName

pBookM = pBookMarks(strMarkName); var pRange;

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

pRange = pBookM.Range; var pRangeInlines;

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

pRangeInlines = pRange.InlineShapes; var pRangeInline;

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

pRangeInline = pRangeInlines.AddPicture(strBmpPath);

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

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

} }

2.1.16 GetFieldValue 原 型: BSTR GetFieldValue(BSTR strFieldName, BSTR strSheetName); 功 能:获得书签位置的数值 参 数:

strFieldName:书签的名字

strSheetName:预留字段(值为空)

返回值: 返回书签的值 示 例:

//获得书签的值

var strFieldValue=document.all.WebOffice1.GetFieldValue(\

2.1.17 GetTempFilePath 原 型: BSTR GetTempFilePath(); 功 能:获得临时文件路径 参 数: 返回值: 当前文件的临时路径 示 例:

var strTempPath=document.all.WebOffice1.GetTempFilePath ();

2.1.18 GetRevCount 原 型: long GetRevCount(); 功 能:获取修订节点的个数 参 数:

返回值: 获取修订节点的个数 示 例:

2.1.19 GetRevInfo 原 型: 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 == \表示\插入\的操作 vRet == \表示\删除\的操作 //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(\ vOpt = \插入\

}else if(\ vOpt = \删除\ }else{

vOpt = \未知操作\ }

vDate = new String(document.all.WebOffice1.GetRevInfo(i,1)); vDate = parseFloat(vDate); dateObj = new Date(vDate);

alert(dateObj.getYear() + \年\月\dateObj.getDate() +\日\+ dateObj.getHours() +\时\+ dateObj.getMinutes() +\分\秒\

alert(\用户:\+ \操作:\+ vOpt + \内容:\

}

2.1.20 GetFileSize 原 型: long GetFileSize (LPCTSTR strFilePath); 功 能:获取本地文件的大小 参 数: 返回值: 示 例:

var vLen = obj.GetFileSize(\

2.1.21 GetBookMarkCount 原 型: long GetBookMarkCount(); 功 能:获取文档中书签的总数量 参 数: 返回值: 示 例: GetFileSize

2.1.22 GetBookMarkInfo 原 型: BSTR GetBookMarkInfo(long lIndex, long lType); 功 能:获取各书签的信息(名称和变量) 参 数: 返回值: 示 例:

var vBKCount;

vBKCount = document.all.WebOffice1.GetBookMarkCount(); var iIndex; var vName; var vValue; var vShowInfo; vShowInfo = \

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

vName = document.all.WebOffice1.GetBookMarkInfo(iIndex,0 ); vValue = document.all.WebOffice1.GetBookMarkInfo(iIndex,1 ); vShowInfo += \ vName = \ vValue = \ }

alert(vShowInfo);

2.1.23 HideMenuItem 原 型: long HideMenuItem(long lMenuType); 功 能:控制自有工具栏的显示 参 数:

lMenuType工具栏开关,采用32位的数字作为开关,当相关位为1的时候,按钮显示,为0是按钮隐藏。

enum{

vNew = 0x01, //新建 vOpen = 0x02, //打开 vSaveAs = 0x04, //保存 vPrint = 0x10, //打印 vPrintView = 0x20, //打印预览 vReturn = 0x1000, //全屏 vFullScrean = 0x2000 //返回 };

返回值: 示 例:

//只显示新建和全屏按钮

Object.HideMenuItem(0x01 + 0x1000);

2.1.24 HideMenuAction 原 型: long HideMenuAction(short shMenuMode, long lValue); 功 能:设置菜单的隐藏和显示。支持Office2007的菜单隐藏和显示 参 数:(仅适用于Office2007)

shMenuMode:设置模式:具体值及含义如下:

0:Office2003以下,直接关闭菜单,暂未支持。可使用SetToolBarButton2接口控制

1:Office2007以上,需要设置关闭菜单列表 2:扩展值,暂无含义 3:扩展值,暂无含义 4:扩展值,暂无含义

5:设置关闭菜单列表后,需调用此值激活。并第二个参数设置为0,具体见示例。

6:恢复菜单显示及功能使用,第二个参数设置为0 lValue:设置要隐藏的菜单及禁止复制、粘贴功能 0x1000:十进制为4096--粘贴无效 0x2000:十进制为8192—复制无效

0x100000:十进制为1048576—开始菜单

0x200000:十进制为2097152—插入菜单 0x400000:十进制为4194304—页面布局菜单 0x800000:十进制为8388608—引用菜单

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