VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何传递不固定个数的叁数?
发表评论(0)作者:, 平台:, 阅读:8840, 日期:2000-03-12
如何传递不固定个数的叁数?

定义副程序时, 我们必须把叁数一一列出来, 例如:

Sub MySub( P1, P2, ┅)

但如果我们将来调用副程序时, 可能会传入不固定个数的叁数, 那么副程序该如

何定义呢?答案如下:

Sub MySub( ParamArray P() ) ' 把叁数 P 定义成一个阵列

如此定义副程序之后, 以下都是将来可能出现的调用叙述:

MySub "ABC" ' 只传递一个叁数

MySub 1, 3, 9, 988, 776, 234 ' 传递 6 个整数叁数

MySub 123, "abc", Date() ' 传递 3 个不同型别的叁数

以最后一个调用叙述为例, P(0) 叁数将等于 123, P(1) 叁数等于 "abc", P(2)

叁数则等于 Date() 函数的传回值, 而由于 P() 是一个阵列, 我们可以利用以

下方法读取每一个叁数:

For i = 0 To UBound(P)

' P(i) 等于第 i 个叁数

Next

最后, 请注意以 ParamArray 所定义的叁数一定是 Variant(不定型) 型别, 若

要判断每一个个别叁数的资料型别, 可以使用 TypeName 函数。