タイトル : 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 値になってしまうようですね。 |