tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: エクセル上の時間表示データの取得方法
投稿日: 2007/10/14(Sun) 02:04
投稿者魔界の仮面弁士
> 例)エクセル上データが10:22
>   VB.netで取得したデータ:0.4319444444
VBA の世界で言えば、
 Debug.Print CDbl(#10:22:00 AM#)
は「0.431944444444444」なので、内部表現としては同じ値ですね。

> 「型'Doble'から型'Date'へのキャストが有効ではありません。」
> とエラーが出てしまします。
.NET の世界で言えば、
 Debug.WriteLine(#10:22:00 AM#.ToOADate())
は「0.431944444444444」ですし、
 Debug.WriteLine(Date.FromOADate(0.431944444444444R).ToString("hh\:mm"))
は「10:22」です。

> それとも、ちゃんと時間で取り込む方法はあるのでしょうか?
時刻データではなく、日付(または日付と時刻)のデータであれば、
Data 型で受け取れるのですが、時刻のみのデータについては、
そもそも「時刻型」や「時間型」が存在しないせいか、Range.Value が
Double 値になってしまうようですね。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。