VBScript 动态 Array 的实现代码

寻技术 其他编程 2023年07月11日 123

记录一个小方法,关于 VBScript 中,动态 Array 的实现,也适用于 VBA,

在很久以前,写 VBA 的时候,就觉得使用 Array 和不方便,因为大小固定,
当时想的是,要是 Array 可以像 Python 里的 list 一样好用该多好啊,
那么下面,就记录一个方法,能让 Array 变得动态,并且好用!

实现方法:

在下面的实例中,先设定一个空的 Array 出来,
然后用,下面的方法实现动态 Array,
并且,把数字 1 到 10,一个加到 Array 中去。

'动态 Array 实现

myArray = Array()
For i = 1 To 10
  ReDim Preserve myArray(UBound(myArray) + 1)
  myArray(UBound(myArray)) = i
Next

那么动态 Array 就这么开心的实现啦,(^_−)☆

对比下和 Python list 的代码吧,感觉是不是很像呢。

# Python 中 list 的使用
myList = list()
for i in range(10):
  myList.append(i)
print(myList)

数据输出:

然后,思考下一个问题,也是我之前写 VBA 时候考虑的问题,
就是,怎么一下子,看到 Array 中所有的数据,
之前的本方法,是使用 For Loop,把 Array 中的数据一个个 Print 出来,
但是现在发现了简单的方法,代码如下:

'最简单的方法:

MsgBox Join (myArray, vblf)

'之前使用的笨方法:
For Each i In myArray
  Debug.Print i
Next

结束语:

上面的动态 Array 方法,在 VBScript 和 VBA 中都可用!

总结

关闭

用微信“扫一扫”