呵呵!  
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