## **使用RunMacro运行Office的宏**
PageOffice使用 RunMacro 方法在在线打开的PageOffice文档中执行已录制的宏指令或者新编写的宏指令(VBA代码)。PageOffice可以运行文档中无返回值和有返回值的宏指令。
~~~js
document.getElementById("PageOfficeCtrl1").RunMacro( MacroName, MacroScript );
~~~
| 参数 | 描述 |
| --- | ---|
| MacroName | 字符串类型,表示宏指令名称。 |
| MacroScript | 字符串类型,表示要执行的宏指令代码,可选。 |
>[]注: ① 缺省该参数时,在客户端调用时,会根据宏指令名称执行打开的文档中已录制或存在的宏指令;如果传递该参数,就直接执行该参数中的宏指令。这里的宏指令指的是完整的VBA函数字符串,必须包含函数的开始和结束,并且函数的名字要和MacroName参数指定的函数名字完全相同。
②当参数MacroScript中有多句宏指令代码时,请把每句代码单独放一行(VBA的要求),注意回车换行。
**示例:**
1. 执行无返回值宏命令,弹出消息框。
>演示效果请参考Samples4示例的高级功能:
>二、12、执行文档中的宏命令(以Word为例)(专业版、企业版)。
在页面上放一个TextBox控件,将其“TextMode”属性设置为“MultiLine”;再放一个普通的按钮“Button”,给其添加一个“onclick”事件,命名为“RunMacro”。在TextBox中输入宏命令后,点击按钮执行Js函数RunMacro(),弹出消息框
如,在TextBox中输入代码如下(注意:每句代码占一行):
~~~
Function 宏1()
MsgBox "消息框"
End Function
~~~
点击按钮执行的JS代码如下:
~~~
<script type="text/JavaScript">
function RunMacro(){
var poObj = document.getElementById("PageOfficeCtrl1");
poObj.RunMacro( "宏1", document.getElementById("TextBox1").value);
}
</script>
~~~
2. 执行有返回值宏命令,弹出消息框。
>演示效果请参考Samples4示例的高级功能:
>二、44、执行文档中有返回值的宏命令(以Word为例)
~~~
<script type="text/JavaScript">
function RunMacro2(){
var sMac = "Function myFunc1() \r\n myFunc1 = "123" \r\n End Function";
var value=document.getElementById("PageOfficeCtrl1").RunMacro("myFunc1", sMac);
document.getElementById("PageOfficeCtrl1").Alert(value);
}
</script>
~~~
- 序言
- 产品简介
- PageOffice试用版和和正式版的区别
- PageOffice对客户端的要求
- PageOffice客户端安装步骤
- PageOffice常用功能与工作原理
- OA系统中的文档在线编辑及流转
- 痕迹保留、键盘批注、手写批注
- 文件并发控制功能
- 与数据库的关系
- SaveDataPage和SaveFilePage的区别
- 调用ZoomSeal签章系统中的印章
- 使用RunMacro运行Office的宏
- 为什么采用弹窗方式打开文件
- POBrowser弹窗方式的具体使用
- Word篇
- 常用接口对象
- WordDocument类
- DataRegion类
- DataTag类
- Paragraph类
- Shape类
- Table类
- Column类
- Row类
- Cell类
- WaterMark类
- DataRegion与DataTag的区别
- 编辑模板中的数据区域
- 动态填充Word文档
- 动态插入Word表格
- 动态创建数据区域
- 数据区域点击事件
- 实现Word文档编辑区域控制
- Word文档全文检索
- Word文件版本对比功能
- 实现用户自定义Word模板
- 实现多个Word文件合并
- Excel篇
- 常用接口对象
- Workbook类
- Sheet类
- Table类
- Cell类
- 动态填充Excel文档
- Excel指定单元格点击事件
- 实现用户自定义Excel模板
- 读取Excel文档中的数据
- 隐藏Excel的行号列标
- Java篇
- PageOffice集成说明
- 动态生成Word文件
- 给Word中的Table赋值
- 动态生成Excel文件
- Maven项目中引用PageOffice
- FileMaker组件功能简介
- ASP.NET篇
- PageOffice集成说明
- 给Word中的Table赋值
- 动态生成Word文档
- FileMaker组件功能简介
- 其他
- POPDF组件功能简介
- PPT相关功能简介
- 实现多人同时编辑一份文档
- PageOffice与Apache POI的区别
- 如何录制宏和编辑宏
- PDF篇
- PDF盖章