VB6における多次元配列の汎用的取扱い

いま仕事でVB6のコードを書いているんだけども、金曜日コードレビューしたら、ある部分は1次元配列じゃだめで2次元配列を使わないとダメだと言うことが発覚。まあそれはそれで直したんだけど、多次元配列の取扱を汎用的に記述できないか悩む。結局出来上がったコードは…

Sub StringArrayDumper(ByVal ArrayName As String,ByRef DumpTarget() As String)
    Dim TestIndex As Integer
    Dim ArrayDimension As Integer
    Dim AnElement As String
    Dim IDX1 As Integer
    Dim IDX2 As Integer
    Dim IDX3 As Integer
    
    On Error GoTo StringArrayDumper_TESTEXIT
    ArrayDimension = 1
    Do While True
        TestIndex = LBound(DumpTarget, ArrayDimension)
        ArrayDimension = ArrayDimension + 1
    Loop
StringArrayDumper_TESTEXIT:
    On Error GoTo 0
    ArrayDimension = ArrayDimension - 1
    Select Case ArrayDimension
    Case 1
        For IDX1 = LBound(DumpTarget, 1) To UBound(DumpTarget, 1)
            Debug.Print ArrayName & "(" & CStr(IDX1) & ")=" & DumpTarget(IDX1)
        Next IDX1
    Case 2
        For IDX1 = LBound(DumpTarget, 1) To UBound(DumpTarget, 1)
            For IDX2 = LBound(DumpTarget, 2) To UBound(DumpTarget, 2)
                AnElement = DumpTarget(IDX1, IDX2)
                If Not (IsEmpty(AnElement) Or Len(AnElement) = 0) Then
                    Debug.Print ArrayName & "(" & CStr(IDX1) & "," & CStr(IDX2) & ")=" & AnElement
                End If
            Next IDX2
        Next IDX1
    Case 3
        For IDX1 = LBound(DumpTarget, 1) To UBound(DumpTarget, 1)
            For IDX2 = LBound(DumpTarget, 2) To UBound(DumpTarget, 2)
                For IDX3 = LBound(DumpTarget, 3) To UBound(DumpTarget, 3)
                    AnElement = DumpTarget(IDX1, IDX2, IDX3)
                    If Not (IsEmpty(AnElement) Or Len(AnElement) = 0) Then
                        Debug.Print ArrayName & "(" & CStr(IDX1) & "," & CStr(IDX2) & "," & CStr(IDX3) & ")=" & AnElement
                    End If
                Next IDX3
            Next IDX2
        Next IDX1
    Case Else
        Debug.Print ArrayName & " うえええぇえぇええ;;"
    End Select
End Sub

配列の次元数を調べるOn Error GoToも糞だが、そのあとのCase文が本当にゴミ。私のスキルでは汎用的に取り扱うことは不可能! バカ! 生きる価値なし! She knooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooow

;y=ー(・ω・)・∵. ターン

…つーか、多次元の配列って配列の入れ子で表現してほしいんだけど、そうなっていないのはなぜ?>Microsoft そうなら再帰で終わりなんだが。