Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

OpenOffice.org Basic 入門 04 自作のマクロを動かす

OpenOffice.org Basic の敷居をまたごうと片足を上げたくらいで止まっていたシリーズの第4回だ。
最初の頃参考にしていた http://wiki.services.openoffice.org は何だか現在つながらなくなっている。もっとも、マクロの編集窓へのたどり着き方さえわかれば、参考になるサイトは他にもいろいろあるわけだが。

初めて書いて、動いたマクロがこれ。

とりあえずシンタックス・エラー(ランタイム・エラーと言うのか?)は出ずに動くが、プログラムの計算結果についてのデバッグはまだ途中という代物だ。
赤で囲った oSheet = ThisComponent.Sheets(0) は、当初まったくこの行そのものを書いてなかったために、以下のようなエラーが出ていた行をしめしている。

oSheet の宣言がされていなかったためのエラーだったのだと思う。
さらに、はじめは oSheet = ThisComponent.Sheets(1) と書いて、セルに何も表示されなかったが、sheet1 は Sheets(0) のようだと気づいて変更した。

ここまでで参考にしたのは OpenOffice.org Basic 入門セルにデータを入力する だ。

エラーが出ずに動いたからといって計算結果が正しいという保証はないので、確認したいんだが、何を計算したかというと、15度ごとの球面上の座標を出力させたつもりだ。
値を眺めていてもちっともラチが明かないのでできれば3次元で表示させたいのだが、非常にすばらしいものを見つけた。
リニアングラフ3D オンライン版だ。
計算結果をコピペすると、

それなりに球体にはなっているようだ。
ただ、計算結果どうこうより、すばらしいアプリを見つけたことの方がうれしい。
落ち着いてもう一度冷静に結果を見ると、明らかに南北方向のドットの間隔が荒い。これは、高さ方向を決めるのに0~180°と180~360°が同じだということに気づいていなかったからだ。

というわけで、デバッグ後、最終的にはこんなものができた。

OpenOffice.org Basic 入門 05 ボタンをクリックして起動

このエントリーをはてなブックマークに追加

Posted under: OpenOffice.org


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.