|
本帖最后由 coby001 于 2014-10-14 11:42 编辑
在vba中使用 动态数组 方便又灵活。
但有时候要判断一下数组是否初始化,没初始化的动态数组是 0维 的。
一般的方法有
1、API 的 SafeArrayGetDim 方法
2、用 UBound() 试错。
如果只是判断数组是否是 0维 的,比较简便的方法是:
((Not Arr) = -1)
示例:- Sub 零维数组()
- Dim iArr0&(), iArr2&(2)
- Debug.Print Not iArr0 '零维数组 显示 -1
- Debug.Print Not iArr2 '显示 其他值
-
- Debug.Print IsZeroDim(iArr0) '零维数组 显示 True
- Debug.Print IsZeroDim(iArr2) '显示 False
- ReDim iArr0&(5)
- Debug.Print Not iArr0 '不再是零维数组 显示 其他值
- End Sub
- Function IsZeroDim(iArr&()) As Boolean
- IsZeroDim = ((Not iArr) = -1)
- End Function
复制代码 |
评分
-
1
查看全部评分
-
|