Top > OOobbs3 > 39

** [[OOobbs3/39]] [#rac22513]
-''サマリ'': getDrawPage() がエラーになる
-''環境'': Calc
-''状態'': 未解決
-''状態'': 解決
-''投稿者'': [[Kuma]]
-''投稿日'': 2010-11-21 (日) 19:12:11

*** 質問 [#yf8b9268]
はにゃ?さんの「オプションボタン」のマクロ説明で書かれている下記コードを
OOo-3.2.1のCalcで走らせると

 oDoc = ThisComponent
 oForm = oDoc.getDrawPage().getForms().getByIndex(0)

BASIC ランタイムエラー
次のプロパティまたはメソッドが見つかりません。getDrawPage

というメッセージが出てしまいます。getDrawPages()に変更してもダメです。
そこで
oForm = oDoc.DrawPages(0).getForms().getByIndex(0)
に変えるとエラーが出ません。

getDrawPage()というメソッドは使えなくなったのでしょうか?
*** 回答 [#pf433c09]
- Calc、Draw、Impress では複数のページがありそのページごとにドローページがあるので、ドローページコンテナを getDrawPages メソッドで取得できます。一方、Writer はひとつのドローページしかないのでそのコンテナオブジェクトがありません。

Calc、Draw、Impress では css.drawing.XDrawPagesSupplier インターフェースが利用可能。

 oDoc = ThisComponent
 oDrawPages = oDoc.getDrawPages()

Writer では css.drawing.XDrawPageSupplier インターフェースを利用。
 oDoc = ThisComponent
 oDrawPage = oDoc.getDrawPage()

css.drawing.XDrawPageSupplier インターフェースが deprecated になっていますが、これはバグだったかな・・・。[[issue 112989>http://www.openoffice.org/issues/show_bug.cgi?id=112989]]

慌てずに inspect してください。

-- はにゃ? &new{2010-11-21 (日) 23:51:27};
- はにゃ?さん、早速のご教示有難うございました。「.sxc」時代のBASICに比べ、色々変わっているようですね。 -- Kuma &new{2010-11-22 (月) 14:00:05};

#comment
*** 感想,コメント,メモ [#q6a00233]

#comment

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes