Datetime Lotusscript日期时间问题
我在视图中存储了几个日期。我使用getItemValue来检索它们Datetime Lotusscript日期时间问题,datetime,lotusscript,Datetime,Lotusscript,我在视图中存储了几个日期。我使用getItemValue来检索它们 Dim repsoneddate As NotesDateTime Set repsondedDate=timePart1doc.GetItemValue(“dateresponsed”) 当我尝试执行以下操作时,我在运行时得到一个类型错误匹配 Dim dateDifference为双精度 Set dtLocal=New NotesDateTime(现在) dateDifference=repsondedDate.Timedif
Dim repsoneddate As NotesDateTime
Set repsondedDate=timePart1doc.GetItemValue(“dateresponsed”)
当我尝试执行以下操作时,我在运行时得到一个类型错误匹配
Dim dateDifference为双精度
Set dtLocal=New NotesDateTime(现在)
dateDifference=repsondedDate.Timedifference(dtLocal)
有人知道哪里出了问题吗?下面一行返回一个数组:
Set repsondedDate = timePart1doc.GetItemValue("dateResponded")
因此,它应该是:
Set repsondedDate = timePart1doc.GetItemValue("dateResponded")(0)
如果我没有弄错的话,您应该使用GetItemValueDateTimeArray方法而不是GetItemValue,因此它实际上应该是这样的:
Set repsondedDate = timePart1doc.GetItemValueDateTimeArray("dateResponded")(0)
希望这对使用GetItemValueDateTimeArray有所帮助,如下所示:
我想你的回答解决了我问题的四分之三。我猜,如果DateResponsed在视图中为空,那么对ResponsedDate的赋值将失败,类型不匹配。看起来有点奇怪,但再加上你的建议,我就要上路了。非常感谢。
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim count As Integer
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
If dc.Count = 0 Then Exit Sub
Set doc = dc.GetFirstDocument
Dim times As Variant
times = doc.GetItemValueDateTimeArray("Times")
count = 0
Forall t In times
count = count + 1
If Typename(t) = "NOTESDATETIME" Then
Messagebox t.LocalTime,, "Date/time # " & count
Elseif Typename(t) = "NOTESDATERANGE" Then
Messagebox t.StartDateTime.LocalTime & " - " & _
t.EndDateTime.LocalTime,, "Date/time # " & count
End If
End Forall
End Sub