岡三RSSのセルの型

Excel.Range range = (Excel.Range)worksheet.Cells[1, 1];

としてセルを取得した場合、そのセルの中身を見るときは
range.Text
を使ってはいけない。たとえば「注文照会」の「受付日時」のアイテムを見る場合、セルの横幅が狭いとこれだと "########" という文字列を取得してしまう。だれがこんなのを取得したいと思うんだ?View と Model がごっちゃになっていて、Excel の変な仕様だと思う。
range.Value を見れば良いと思うのだが、なぜか C# からはこのプロパティーにアクセスできない。なんでだろ?unibon はこういう基本的なことが分かっていない。


いろいろ試してみたら、range.Value2 を見ればよさそうだ。岡三RSSは「銘柄コード」なども数値として書くのかそれとも Excel が勝手に数値に変換するのかは分からないが、数値で表せるものは double で入っている。日時も double だ。DateTime クラスに FromOADate メソッドがあるので、これを使うと変換できる。


ただし QUOTE の「前日比」と「現在値時刻」は string で入っているので注意。


なお空欄のセル(VBA では Empty として見えるセル)は、C# から Value2 プロパティーにアクセスすると null として見える。Excel の段階では、なにも入っていないセルなのか、"" が入っているセルなのかの区別はなく一律に Empty のようだ。