C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 16 を表示中)
■6117 / )  Re[8]: Excel セルより読込
□投稿者/ 魔界の仮面弁士 (369回)-(2007/08/01(Wed) 12:32:25)
No6109 (クイン さん) に返信
> この場合(C#の場合)、本来の引数をとらないValueプロパティに対応するのはValue2ですので、
> ValueではなくValue2を使うのが正しいと思うのですがどうでしょう。

限定条件下では、十分に代替手段とはなりえます。が、Value2 の方が正しいというわけではありません。

今回は、右辺が文字列であったため、Value2 でも置き換えが可能ですが、もし、右辺の変数が、
 DateTime str = DateTime.Now;
だった場合、Value2 プロパティだと異なる結果を生んでしまうかと思います。(ToOADate の代入に変換されてしまう)


もともと、やろうとしていることは、
> oSheet.Cells[1, 1] = str;
に対する処理でしたので、Value2 よりも Value の方が適切な置き換え(※)となるでしょう。


とはいえ、Value では扱いずらいのも事実なので、上記の点を踏まえた上であれば、
それを Value2 で代用するのも、有効な選択肢といえるかと思います。


---
(※) 厳密にいえば、IA の場合の正しい対応コードは、Value2 でも Value でもなく、
 oCell.set_Item(Type.Missing, Type.Missing, str); のようなメソッド呼び出しになります。
 (もっとも、これは Value への代入と同じ結果となりますが)
返信 編集キー/


管理者用

- Child Tree -