我的代码有问题,最后当脚本试图保存de doc lotus时显示错误:
格式验证错误。
我想更改当天的提醒,我首先尝试的是事件,然后我想将此代码实现到代理中,是这个......
Sub Click(Source As Button)
'... other variables declared ...
Dim dateTime As NotesDateTime
Dim nuevoRecordatorio As Variant
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Set item = doc.GetFirstItem("TempoFechaRecordatorio01")
Set dateTime = item.DateTimeValue
Messagebox (dateTime.DateOnly)
Call dateTime.AdjustDay(15)
Messagebox (dateTime.DateOnly)
nuevoRecordatorio = dateTime.DateOnly
Messagebox (nuevoRecordatorio)
Set item2 = doc.ReplaceItemValue("TempoFechaRecordatorio01",Cdat(nuevoRecordatorio))
Messagebox (doc.TempoFechaRecordatorio01(0))
Call uidoc.Save
Call uidoc.Close End Sub
我试过没有Cdat(...)
,但结果是一样的:format error
。
有人能给我任何解决这个问题的指导吗?
答案 0 :(得分:3)
NotesDateTime.DateOnly
属性返回string
值,因此您需要使用date
函数将此值转换为DateValue
值:
'Your code.
Set item2 = doc.ReplaceItemValue("TempoFechaRecordatorio01", DateValue(nuevoRecordatorio))
'Your code.
您也可以直接使用date
值:
'Your code.
vDate = doc.GetItemValue("TempoFechaRecordatorio01")(0)
vDate = vDate + 15
doc.ReplaceItemValue("TempoFechaRecordatorio01", Datenumber(Year(vDate), Month(vDate), Day(vDate))
'Your code.
另一方面,您可以使用Evaluate
功能:
'Your code.
doc.ReplaceItemValue("TempoFechaRecordatorio01", Evaluate({@Adjust(@Date(TempoFechaRecordatorio01); 0; 0; 15; 0; 0; 0)}, doc)
'Your code.