oooBasic 日付の範囲比較ができない
OpenOffice.org Basic でコーディングしているのですが、日付の範囲の比較ができません。
ダイアログで日付のエンドとスタートを指定していて、読み込んだCSVファイルのあるセルがその日付の範囲内かを調べたいです。
-----
oDateStart = oDialog.getControl("DateStart").Text
oDateEnd = oDialog.getControl("DateEnd").Text
~
oFileSales(1).Value = "44,34,64,1"
'oFileSales(1).Value="44,34,64,1,1/5/1/2/1/1/1/2/1/2/1/1/1/1/1/1/1/1/1/1/1/1/5/5/1/1/1/2" ---(a)
~
oDate = oSheetSales.getCellByPosition(ColSalesDate, i-1).String
'oDate = oSheetSales.getCellByPosition(ColSalesDate, i-1).Value ---(b)
~
If oDateStart <= CDate(oDate) and CDate(oDate) <= oDateEnd Then ---(c)ここがエラーになります。
処理
End if
-----
oDateStart と oDateEnd は、ダイアログで指定した日付のテキスト(形式:YYYY/MM/DD(String))で、oDate は、読み込んだcsvファイルの日付(形式:MM月DD日(String))です。
『OpenOffleへの道』には CDate と DateValue は、"年""月""日"が入ったものは×とあります。
oDateのセルは、OpenOfficeで普通に開くと、"2012/12/12"のように表示されるのですが、マクロの中で開くと、なぜか"12月12日"となってしまいます。
(a)のように、読み込む列の書式を指定しても同じでした。
逆に、(b) のように oDateをシリアル値で取得して、シリアル値で比較できればと色々トライしましたが、oDateStart と oDateEnd のシリアル値への変換がわからず断念。
何かよい方法はないか、お知恵をお貸し頂けないでしょうか。
よろしくおねがいします。