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>