私は自分でこの問題を理解しようとしましたが、おそらく私がどのように機能するかについて誤解していることがあり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はすべて暗黙的に宣言されたバリアント変数です。
私は何が間違っているのですか?私はそれが言うところのヘルプを読みました:
使用法
バリアント配列の要素は、同じタイプの場合にのみ同等に比較されます。バリアント配列にクラスまたはオブジェクトを含めることはできません。
null値を含む配列要素は、他のnull値と一致します。
空の配列要素は、空の他の要素と一致します。
この例のバリアント配列には、日付/時刻タイプのバリアント変数が含まれています。ですから、これを正しく読んでいれば、何も悪いことはしていません。
編集:Notesフォーラムで、ユーザーThoamsKennedyは次のことを試みました。
このように時間要素を綴ると
dateOne = CDat( "12/16/2010 04:20:17 AM")
dateTwo = CDat( "12/16/2010 04:20:17 AM")
それでも、それらは別個のものとして扱われます。ミリ秒のコンポーネントはないように思われるので、ArrayUniqueはDateTimeバリアントの処理方法を知らないと思います。
したがって、彼の結論は、ArrayUniqueうーん、機能しないということです。