LotusScript中DateTime转String时出现"Type mismatch"错误求助
问题解决:LotusScript中NotesDateTime转日期字符串的类型不匹配错误
错误原因分析
你的代码存在两个核心问题:
- 类型赋值错误:
.DateOnly属性本身返回的是字符串类型的日期值,不能将它赋值给NotesDateTime类型变量,更不能用Set关键字(Set仅用于对象类型的赋值)。 - 冗余且错误的类型转换:
Cstr(datevar)报错是因为datevar被错误地赋予了字符串值,但变量声明为NotesDateTime,导致类型不匹配。
修正后的代码方案
方案一:直接获取日期字符串(最简写法)
如果不需要对NotesDateTime对象做额外操作,直接读取.DateOnly即可:
Dim datevarstr As String Dim path_var As String ' DateOnly本身就是字符串类型,直接赋值 datevarstr = doc.Datum(0).DateOnly path_var = datevarstr ' 无需再次转换类型
方案二:先操作NotesDateTime对象再取日期
如果需要先对日期对象做调整(比如加减天数),先正确创建NotesDateTime对象:
Dim datevar As NotesDateTime Dim datevarstr As String Dim path_var As String ' 正确创建NotesDateTime对象(用Set赋值对象) Set datevar = doc.Datum(0) ' 通过DateOnly属性提取日期字符串 datevarstr = datevar.DateOnly path_var = datevarstr
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

