COM Scripting
Introduction
Scriptom是由Guillaume Laforge開發的一個可選Groovy模塊。一旦在的Groovy環境中安裝上,你就能夠在Groovy中應用一個包裝器來為任何ActiveX或者COM組件寫腳本。當然了,這個模塊只能在Windows下用。
Installation
安裝Scripttom的最簡單方式是將這個ZIP包解壓到你的GROOVY_HOME目錄下。
這個包內含了jacob.jar、jacob.dll和scriptom.jar. DLL文件要放在bin目錄下,亦或是你的java.libray.path下,以備jacob.jar調用裝載。
Building from sources
如果你足夠勇敢并傾向于從CVS Head中獲取最新版本,那么你可以從源代碼構建。檢出 /scriptom 模塊并用Maven自動完成安裝。
如果你的GROOVY_HOME正指向你的groovy-core的源代碼安裝目錄,僅鍵入:
maven
另外,若已將Groovy安裝在了一個不同的目錄,你有兩種選擇,在文件project.properties里將屬性groovy.install.staging.dest指向你的GROOVY_HOME目錄,并運行Maven,或者鍵入:
maven -Dgroovy.install.staging.dest=%GROOVY_HOME%
Usage
讓我們看一下如何針對IE瀏覽器寫腳本。首先,我們當然是要將ActiveX代理類引入進來。
然后,我們將創建一個jacob中ActiveXComponent類的GroovyObjectSupport包裝器。現在,我們即將應用(調用)這個組件的屬性或者是方法。












注意explorer.Visible返回的是一個代理,如果你想獲取屬性的真正的值,你要用這樣的表達式:explorer.Visible.value 或explorer.Visible.getValue().
Limitations
目前,Scriptom處于beta階段,故你在應用ActiveX或COM組件時可能會遇到一些bug和限制,不要猶豫,請將bug發表到JIRA或是郵件列表上。
第一個版本最大的一個不足(局限)是仍然還不能訂閱你正在應用組件的事件。在下一個版本中,我希望能夠讓你能用閉包來定義自己的事件捕捉。象下面這樣:








但是現在仍然不支持事件回調。在目前的CVS里有一個實驗性的參考實現。它不能通過Groovy命令執行,但是可以在Java程序里透過GroovyShell對象來運行。
Samples
如果你檢出了Scriptom的源代碼,你會在src/script目錄下發現幾個例子。
我將下面的幾個小節中向你展示一些例子。
Scripting Internet Explorer



















Scripting Excel


































警告:在我的機器(WinXP Home),仍然會有一個Excel.exe進程在運行,我對此仍無線索。:(
Mixing VBScript or JScript with Groovy








Scripting the Windows Shell object































Scripting Windows Media Player



































當事件回調被支持后,你就能夠訂閱player.statusChange事件,以便你能夠完整地播放wav。
Converting a Word document into HTML
這個程序將一個word文件作為第一個參數,并且生成一個同名的HTML文件,只是擴展名為".html"








注意里面的參數 8,這就是轉換后的HTML文件格式,具體為









posted on 2005-02-24 17:53 carob 閱讀(930) 評論(0) 編輯 收藏 所屬分類: Groovy