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












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








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



















Scripting Excel


































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








Scripting the Windows Shell object































Scripting Windows Media Player



































當(dāng)事件回調(diào)被支持后,你就能夠訂閱player.statusChange事件,以便你能夠完整地播放wav。
Converting a Word document into HTML
這個程序?qū)⒁粋€word文件作為第一個參數(shù),并且生成一個同名的HTML文件,只是擴(kuò)展名為".html"








注意里面的參數(shù) 8,這就是轉(zhuǎn)換后的HTML文件格式,具體為









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