查看: 16|回复: 0

VBScript 动态 Array 的实现代码

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-12-7
发表于 2020-4-3 14:11:09 | 显示全部楼层 |阅读模式

记录一个小方法,关于 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 中都可用!

总结

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部