解放処理が面倒
COMオブジェクトを使う場合、Marshal.ReleaseComObjectを呼びまくることになるのが苦痛です。
http://www.python.org/doc/2.5/whatsnew/pep-343.html#SECTION000910000000000000000
http://www.python.org/doc/2.5/lib/module-contextlib.html
このあたりを使うと多少は楽になりそーなんですがIronPython2.0では、まだwithは使えないのかしら。
@contextmanager def foo(comobj): try: yield comobj finally: Marshal.ReleaseComObject(comobj) with nested (foo(app), foo(wbs), foo(wb), foo(wss), foo(ws)) as (a, b, c, d, e): do_something()
使ったことがないので自信無いのですが、上記のように書けば、ブロックを抜けるタイミングで自動的にReleaseComObjectしてくれるんですよね?(^^;