戻る

OpenOffice.org / StarSuite 関連

OpenOffice.org BaseでMySQLへ接続

[MySQLの設定]
ネット越しに接続する場合には,user@localhost と user@192.168.x.x は別なので, あらかじめ追加しておく.
# mysql -u root -p
mysql> GRANT ALL movabletype_db.* TO user@192.168.x.x IDENTIFIED BY 'xxx';

[JDBCドライバで接続する]
次からダウンロード.
http://dev.mysql.com/downloads/connector/j/3.1.html
mysql-connector-java-3.1.12-bin.jar を適当なディレクトリへコピーする.

[OpenOffice.org Base の設定]
メニュー/ツール/オプション/OpenOffice.org/Java で[クラスパス]ボタンを押し,[アーカイブを追加]で,上記のjarを選択する.
Baseを開き,Wizardから,
[既存のデータベースに接続]MySQLを選択
[JDBCを使って接続]を選択
[データベースの名前]etcを入力して OK
Linux でも Windows でも同じ手順でした.

Star Basic メモ

excel の形状指数マクロを OpenOffice Spreadsheet(OOS) に移植. 単純な計算のみなためかスムースに移行. excel(VBA) では円周率(π)を Application.pi() で呼び出してましたが, StarBasic(SB) では Pi という定数でした. また,phi, zeta は SB では予約語らしく変数名としては使えませんでした.

勢いづいて,少し複雑なHTMLを吐き出すマクロをいじってみると,細かいところで違いがあり,一歩づつ手探りでした. 例えば,セルの参照は次の様に対応しています.

VBA: Comment = Worksheets("ソース").Range("D2").Value
SB: Comment = ThisComponent.sheets.GetByName("source").GetCellRangeByName("D2").String

ここで SB では最後を ".Value" にすると int 型として読みます. 中身が文字列の場合は "0" が入れられます. (OOS ではワークシート名に日本語を入れるのもちょっと心配.)

行・列を指定する場合は以下のように. VBA と SB では行・列の順番が逆です. また,excel では左上隅のセルは(1, 1)ですが,OOS では (0, 0)ですね.

VBA: tmp = sheet.cells(row, column).Value
SB: tmp = sheet.GetCellByPosition(column - 1, row - 1).String

windows版で作ったマクロを linux 版で動かしてみる. 文字列の加算が windows (ver 1.1 b2)では "+","&" どちらでも OK でしたが, linux (ver 1.0.2) では "+" でないとダメでした.
後,マクロで HTML を出力しているのですが,出力されるファイルの文字コードが windows では S-JIS,linux では EUC になります. どこかで選択できるのかな?
linux では CurDir は正常に動いてましたが,windows では挙動があやしいうえ,日本語も化けてました.

リンク

OpenOffice.org 日本ユーザー会
OpenOffice.orgの使い方
OpenOffice.orgドキュメントプロジェクト
OpenOffice.org ユーザーのための Microsoft Office 互換性研究室
StarSuite 7 - Sun Microsystems

書籍 リンク

StarSuite徹底ガイド (CD-ROM付)
いますぐ使えるStarSuite 7
はじめてのOpenOffice (CD-ROM付)(I/O books)
使ってみようOpenOffice (CD-ROM付)
OpenOffice.org完全マニュアル Windows版
いますぐはじめるOpenOffice.orgまるごとパック



戻る