呵呵!
Function Dimension(ByRef Variable As Variant) As Integer
Dim Ptr As Long
If IsArray(Variable) Then
Ptr = VarPtr(Variable) + 8 'VB-Array
CopyMemory Ptr, ByVal Ptr, 4 'SafeArrayDescriptor
CopyMemory Ptr, ByVal Ptr, 4 'SafeArray-Struktur
If Ptr Then CopyMemory Dimension, ByVal Ptr, 2
Else
Err.Raise 13 'Type mismatch
End If
End Function