圣马丁 發表於 2020-4-3 14:11:09

VBScript 动态 Array 的实现代码

<p>记录一个小方法,关于 VBScript 中,动态 Array 的实现,也适用于 VBA,</p>
<p>在很久以前,写 VBA 的时候,就觉得使用 Array 和不方便,因为大小固定,<br />
当时想的是,要是 Array 可以像 Python 里的 list 一样好用该多好啊,<br />
那么下面,就记录一个方法,能让 Array 变得动态,并且好用!</p>
<p><span style="color: #008080"><strong>实现方法:<br />
</strong></span></p>
<p>在下面的实例中,先设定一个空的 Array 出来,<br />
然后用,下面的方法实现动态 Array,<br />
并且,把数字 1 到 10,一个加到 Array 中去。</p>
<p>'动态 Array 实现</p>
<div class="jb51code">
<pre class="brush:js;">
myArray = Array()
For i = 1 To 10
ReDim Preserve myArray(UBound(myArray) + 1)
myArray(UBound(myArray)) = i
Next</pre>
</div>
<p>那么动态 Array 就这么开心的实现啦,(^_−)☆</p>
<p>对比下和 Python list 的代码吧,感觉是不是很像呢。</p>
<div class="jb51code">
<pre class="brush:js;">
# Python 中 list 的使用
myList = list()
for i in range(10):
myList.append(i)
print(myList)</pre>
</div>
<p>数据输出:</p>
<p>然后,思考下一个问题,也是我之前写 VBA 时候考虑的问题,<br />
就是,怎么一下子,看到 Array 中所有的数据,<br />
之前的本方法,是使用 For Loop,把 Array 中的数据一个个 Print 出来,<br />
但是现在发现了简单的方法,代码如下:</p>
<p>'最简单的方法:</p>
<div class="jb51code">
<pre class="brush:js;">
MsgBox Join (myArray, vblf)

'之前使用的笨方法:
For Each i In myArray
Debug.Print i
Next</pre>
</div>
<p>结束语:</p>
<p>上面的动态 Array 方法,在 VBScript 和 VBA 中都可用!</p>
<p><span style="color: #ff0000"><strong>总结</strong></span></p>
頁: [1]
查看完整版本: VBScript 动态 Array 的实现代码