我有什么选项可以创建对象("System.Collections.ArrayList")?



我有一个文件,我们在很多工作人员中共享。在过去的五年里,代码运行得很好,但现在有一个新人被引入到文件中,他在下面的部分得到了(关于错误的其他线程的链接(自动化错误:

Dim TillfLevdagar(1 To 14) As String
.... 
' code that sets some of the array items above
.....

Dim arr2 As Object
Set arr2 = CreateObject("System.Collections.ArrayList") ' here it errors

For Each itm In TillfLevdagar
If itm <> "" Then arr2.Add CInt(itm)
Next
arr2.Sort
For Each itm In arr2
msg = msg & itm & ","
Next

由于这是一台工作电脑,我们在允许安装任何软件方面都非常有限。其中包括微软软件
因此,我问除了上面的代码,我还有什么替代方案?

请尝试下一种排序方式,只使用初始(TillfLevdagar(数组:

Sub BubbleSort(arr)
Dim i As Long, j As Long, temp
For i = LBound(arr) To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(i) > arr(j) Then
temp = arr(i): arr(i) = arr(j)
arr(j) = temp
End If
Next j
Next i
End Sub

您可以使用下一个测试程序进行测试:

Sub testBubbleSort()
Dim arr, arrStr(1 To 14) As String, i As Long
arr = Split("test,boolean,core,leaf,dream,crises,bet,arrow", ",")
For i = 1 To 14
arrStr(i) = Chr(Int((25 + 1) * Rnd + 1) + 64) & "test"
Next i
BubbleSort arr
Debug.Print Join(arr, "|")
BubbleSort arrStr
Debug.Print Join(arrStr, "|")
End Sub

我的测试集合Subs中有这个排序子,来自几年前。我不记得我从哪里找到的,也不记得我适应了什么,如果我这样做的话。这是一个简单的排序过程。不管怎样,我用了很多次,结果都很好。

相关内容

最新更新