我试图自己解决这个问题,但也许我对ArrayUnique
工作方式有一些误解。
下面是一些示例LotusScript代码:
'Let's test some dates
dateOne = CDat("12/16/2010")
dateTwo = CDat("12/16/2010")
testSuccess = (dateOne = dateTwo)
'On evaluation, testSuccess = true
'Now let's make an array ...
Dim someArray(1) As Variant
someArray(0) = dateOne
someArray(1) = dateTwo
uniqueArray = ArrayUnique(someArray)
'uniqueArray has the same two elements ... the duplicate hasn't been removed
在上面的示例中,dateOne、dateTwo、testSuccess 和 uniqueArray 都是隐式声明的变体变量。
我究竟做错了什么?我在帮助中读到它说:
用法
变量数组中的元素只有在它们属于相同类型时才会比较相等。变量数组不能包含类或对象。
包含空值的数组元素将匹配其他空值。
为空的数组元素将与其他为空的元素匹配。
好吧,本例中的变量数组包含日期/时间类型的变量变量。所以,如果我没看错的话,我没有做错任何事。
编辑:在Notes 论坛上,用户Thoams Kennedy尝试了以下操作:
如果你像这样拼出时间分量
dateOne = CDat("12/16/2010 04:20:17 AM")
dateTwo = CDat("12/16/2010 04:20:17 AM")
它仍然会将它们视为不同的。似乎没有毫秒组件,所以我会说 ArrayUnique 不知道如何处理 DateTime 变体。
所以他的结论是 ArrayUnique 嗯,不起作用。