使用RunMacro運行Office的宏

PageOffice使用 RunMacro 方法在在線打開的PageOffice文檔中執行已錄製的宏指令或者新編寫的宏指令(VBA代碼)。PageOffice能夠運行文檔中無返回值和有返回值的宏指令。函數

document.getElementById("PageOfficeCtrl1").RunMacro( MacroName, MacroScript );
參數 描述
MacroName 字符串類型,表示宏指令名稱。
MacroScript 字符串類型,表示要執行的宏指令代碼,可選。

注: ① 缺省該參數時,在客戶端調用時,會根據宏指令名稱執行打開的文檔中已錄製或存在的宏指令;若是傳遞該參數,就直接執行該參數中的宏指令。這裏的宏指令指的是完整的VBA函數字符串,必須包含函數的開始和結束,而且函數的名字要和MacroName參數指定的函數名字徹底相同。
②當參數MacroScript中有多句宏指令代碼時,請把每句代碼單獨放一行(VBA的要求),注意回車換行。code

示例:事件

  1. 執行無返回值宏命令,彈出消息框。

演示效果請參考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>
  1. 執行有返回值宏命令,彈出消息框。

演示效果請參考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>
相關文章
相關標籤/搜索