iLEDについて

Javaサンプル

Netbeans

Libre Office Basicマクロ

その他


Author of This Site:
M. Kom. (kom9kmail@gmail.com)
Spam対策のため@マークは全角になっていますから、メール送信時には半角にしてください。

Libre Office Basic マクロ

Libre Office Basicでプログラミングする際に、頻繁に出てくるドキュメントオブジェクトの取得について 整理してみましょう。
なお、本稿の作成にあたりAndrew Pitonyak氏による「OpenOffice.org Macros Explained OOME Third Edition」Last Modified Monday, August 12, 2013 at 09:35:59 PM ,Document Revision: 543
を参照しています。詳細な解説を記述した労作に敬意を表し、その努力に感謝します。

<< SDメモリUSBメモリ激安 上海問屋 >>

表計算ソフト用Calcでの処理を考えます。現在アクティブなドキュメントを対象にするのであれば、 いろいろな処理を行う際に必要となるドキュメントオブジェクトの取得は、
oDoc = ThisComponent
のように簡単に行えますね。
また、オブジェクト変数oDocを介さずに、直接ThisComponentを使うこともできます。
oSheet = ThisComponent.Sheets(0)
のような使い方です。
また特に複数のシートを順に処理していきたい場合などには、シートオブジェクト配列から指定した番号の シートを取り出す方法もあります。
oSheet = ThisComponent.getSheets().getByIndex(0)
シートの取り出しは、もちろんシート名を指定して行う方法もあります。
oSheet = ThisComponent.Sheets.getByName("Sheet1")

ファイルからドキュメントを開きそのオブジェクトを取得する場合は、ファイル選択ダイアログなどで ファイルのフルパスを得たのち、以下のようにしてそのオブジェクトを取得できます。

    ........
    Dim Array(1) as Integer
    Dim FileProperties(1)  As New com.sun.star.beans.PropertyValue
    ........
    oDoc=StarDesktop.loadComponentFromURL( "C:\Test.ods","_blank",0, FileProperties())
    ........

空の新規ファイル作成の場合のドキュメントオブジェクト取得は

    Dim noArgs()
    Dim sURL As String 
    Dim oDoc as Object

    sURL = "private:factory/scalc"
    oDoc = StarDesktop.LoadComponentFromUrl(sURL, "_blank", 0, noArgs())
    .........