夏時間

Java on Linux
昨夜は linux に Java SDK をインストールし,これまで windows 上で作ってた ソースを動かしてみる.
当たり前ですが,ちゃんと動きました.
偉い,偉い.
MS Excel → OpenOffice Spreadsheet
データはほぼ問題ないのでマクロを移行してみる.
環境は以下の通り
Windows XP Pro sp1
Microsoft Excel 2000
OpenOffice ver 1.1 beta2 Windows版
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
ActiveCell なども異なりますが,こちらは未整理.
その他,CurDir (current directory) が正常に動いていない気がするんですけど…?
とりあえず,求人情報(HTML)を吐き出すマクロは移植できました.
ただし,マクロが汚いので修正が必要です.
これら以外は,ほぼ手を加えることなく動いたので,VBA と SB とはけっこう互換性は高いようのではないでしょうか.