Public Class Common
Dim cs As New CSScript
'*** strTimeに入っている値を数値(分)に変換して返します。 ***
' strTime : 計算対象の時間。必ずhh:mm形式で入力するようにしてください。
' 変換できないときは0を返します。
Public Function 時間_数値化(ByVal strTime As Object) As Long
Dim wkHour As Long
Dim wkMinute As Long
If strTime = "" Then
時間_数値化 = 0
Exit Function
End If
'時間を取得
On Error Resume Next
wkHour = Left(strTime, InStr(1, strTime, ":") - 1)
wkMinute = Right(strTime, 2)
If Err.Number = 0 Then
時間_数値化 = wkHour * 60 + wkMinute
Else
時間_数値化 = 0
End If
End Function
'*** ↑の処理で数値化された時間を元に戻します。変換失敗時は空文字列を返します ***
Public Function 数値_時間化(ByVal lngTime) As String
If cs.IsNull(lngTime) Then
数値_時間化 = ""
Exit Function
End If
On Error Resume Next
数値_時間化 = Fix(lngTime / 60) & ":" & Format(lngTime Mod 60, "00")
If Err.Number <> 0 Then
数値_時間化 = ""
End If
End Function
End Class
前にやった業務(トラウマ)でこんなことをしていたので、使えるかもしれないからメモっておきますね。
まぁこれの元が滅茶苦茶なExcelVBAで、VB.NETで使いたくなって少し改変したのだけれど、
メソッド名が漢字なのはその名残だと思ってください。
2007年11月17日土曜日
[VB.NET]時間を数値化、数値を時間化
ラベル: VB.NET
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿