次のコードは、2 つの日付間の期間を計算するために使用されます。この場合、関数は正しい出力を生成しています: 1:03:11(dd:hh:mm 形式なので、1 日 3 時間 11 分)。計算後、スクリプトはこの値をセルに保存します。これまでのところ、これは完璧であり、まさに私が望む形式です。その後、別のスクリプトが実行され、スクリプト内のニーズとロジックに応じてセルの値が移動され、必要なセルに動的に格納されます。私が抱えている問題は、期間が「AM」または「PM」を値に追加していることです。これは非常に具体的な (およびフォーマットされた) 期間であり、実際の時刻ではないため、これは正しくありません。代わりに TIME 値として扱っているようです。
期間を測定するために使用されるコードは次のとおりです。
Function TimeSpan(dt1,dt2)
Dim dtTemp
objExcel1.Application.ScreenUpdating = False
If (IsDate(dt1) And IsDate(dt2)) = False Then
TimeSpan = "00:00:00"
Exit Function
End If
If dt2 < dt1 Then
dtTemp = dt2
dt2 = dt1
dt1 = dt2
End If
TimeSpan = objExcel1.Application.WorksheetFunction.Text((dt2 - dt1), "dd:hh:mm")'"dd:hh:mm:ss"
objExcel1.Application.ScreenUpdating = False
End