PageOffice使用 RunMacro 方法在在线打开的PageOffice文档中执行已录制的宏指令或者新编写的宏指令(VBA代码)。PageOffice能够运行文档中无返回值和有返回值的宏指令。函数
document.getElementById("PageOfficeCtrl1").RunMacro( MacroName, MacroScript );
参数 | 描述 |
---|---|
MacroName | 字符串类型,表示宏指令名称。 |
MacroScript | 字符串类型,表示要执行的宏指令代码,可选。 |
注: ① 缺省该参数时,在客户端调用时,会根据宏指令名称执行打开的文档中已录制或存在的宏指令;若是传递该参数,就直接执行该参数中的宏指令。这里的宏指令指的是完整的VBA函数字符串,必须包含函数的开始和结束,而且函数的名字要和MacroName参数指定的函数名字彻底相同。
②当参数MacroScript中有多句宏指令代码时,请把每句代码单独放一行(VBA的要求),注意回车换行。code
示例:事件
演示效果请参考Samples4示例的高级功能:
2、十二、执行文档中的宏命令(以Word为例)(专业版、企业版)。ip
在页面上放一个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>
演示效果请参考Samples4示例的高级功能:
2、4四、执行文档中有返回值的宏命令(以Word为例)get
<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>