示 例:
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—引用菜单