◆ [VBScript] Excelマクロに、ドロップされたファイルのパスを渡す をOpenOffice.orgでの実行… その1
どーもボキです。

OpenOffice.orgってのは、一言でいうと「無料のOffice Pro」。
(Pro = パワーポイント相当のアプリ付)

Officeとの互換性も(ある程度)あり、Officeで作成したファイルも開ける。
マクロ機能もあり、VBもサポートしている。(ある程度)

つまり、Excelマクロが開けて、マクロの実行も出来る。
VBScriptからマクロを引数付きで起動できるか試してみた。

結果は、指定したマクロは起動できたが、引数は渡せなかった
Set objServiceManager = CreateObject("com.sun.star.ServiceManager")
Set objDesktop = objServiceManager.createInstance("com.sun.star.frame.Desktop")
Dim dummy()
Set oDoc = objDesktop.loadComponentFromURL("file:///D:/ExcelMacro.xls", "_blank", 0, dummy)

Set oURL = objServiceManager.Bridge_getStruct("com.sun.star.util.URL")
oURL.Complete = "macro://ExcelMacro/Standard.Module1.Test"

Set oTrans = objServiceManager.createInstance("com.sun.star.util.URLTransformer")
Call oTrans.parseStrict(oURL)


Set oDisp = objDesktop.queryDispatch(oURL, "_self", 0)
Call oDisp.Dispatch (oURL, dummy)
ココのソースをちょこっといじっただけだけど。

上の例では、D:\ExcelMacro.xls の Module1 > Test というサブルーチンを呼び出してる。
それ以外のコードは、サッパリ意味がわからん。
[PR]
by yozda | 2009-06-13 23:06 | プログラミング | Trackback | Comments(0)
トラックバックURL : http://yozda.exblog.jp/tb/8401627
トラックバックする(会員専用) [ヘルプ]
<< [Youtube] マキシマム... [DS] 逆転検事 >>