銀月の符号

Python 使い見習いの日記・雑記

Python-Uno 5時間目

資料不足。API リファレンス がみつかったので「急がば回れ」の精神でいくか。しかし、これはしんどい。

昨日 OpenOffice.org Scripting with Pythonを参考に書いたコードの一部。calc のシート取得。この裏でなにが起こっているのか API リファレンスとあわせて読もうとしてみた。

doc = XSCRIPTCONTEXT.getDocument()
sheets = doc.getSheets()
sheet = sheets.getByName(u"シートの名前")

XSCRIPTCONTEXT.getDocument() で得られるのは XModel インターフェースを継承したなにか。でもこのインターフェースには getSheets メソッドなるものはでてこない。これの持ち主は XSpreadsheetDocument インターフェース。で、得られるのは XSpreadsheets インターフェースを継承したなにかだけど、ここにも getByName メソッドは出てこなくて XNameAccess インターフェース、と。

なんというインターフェースの山。 See also の文字だけでワクワクしてしまった。これを逆引きとして使うのは日本語勉強するときに辞書を教科書代わりにするようなもの…ってワクワクできるか、こんなもん! あぁでも JavaAPI リファレンスみたいなものなのかもしれない。がんばって読み進めていけばどこになにがあるかなんとなく「勘」でつかめるようになるという。でもそんなに待ってられない。

再度、方針転換。というか出戻り。次の 5 時間は Basic から calc を操っている例を調べてみる。 API リファレンス のありかはわかったので具体例( Python じゃなくて Basic だけど) と行き来すればなんとかなるかも。

"Python + Uno + OOo calc" はどうみても蛇の道、じゃなくて茨の道。"OOo Basic" のほうが無難、きっと。もしくは "Python + COM + Excel" 。