標題解釋了我的問題。我工作的excelmakro和 我的問題是,是否有一個選項,調試器顯示所有元素,就像它與數組一樣?VBA調試器只顯示集合中的256個元素
如果沒有,是唯一的解決方法,我的類對象存儲在一個數組後充氣集合?
我感謝您的幫助。
標題解釋了我的問題。我工作的excelmakro和 我的問題是,是否有一個選項,調試器顯示所有元素,就像它與數組一樣?VBA調試器只顯示集合中的256個元素
如果沒有,是唯一的解決方法,我的類對象存儲在一個數組後充氣集合?
我感謝您的幫助。
您可以使用debug.print
並將輸出寫入即時窗口並繞過這種限制。
我幾乎可以肯定,沒有辦法增加這個限制,但也許別人可以給一個def。就此回答。
答案似乎是否定的 - 但下面的子可能會有所幫助。一個簡單的實驗表明,它可以在即時窗口在調試模式下同時使用:
Sub display(col As Collection)
Dim i As Long
Dim it As Variant
Dim itType As String
For i = 1 To col.Count
it = col.Item(i)
itType = TypeName(it)
Debug.Print "Item " & i & " -- Value: " & it & " -- Type: " & itType
Next i
End Sub
添加了一個更新的子來覆蓋數組'Debug.Print「項目」&i &「 - 值:[」&Join(it,「,」)&「] - 類型:」&itType「@JohnColeman不打算竊取任何選票,如果您想改進您的答案以包含我的建議,感受免費這樣做,我會刪除我的回覆 – nkatsar
在我的情況下,集合的元素可以是數組。
約翰·科爾曼的子可以提高覆蓋(至少一維)陣列爲:
Sub display(col As Collection)
Dim i As Long
Dim it As Variant
Dim itType As String
For i = 1 To col.Count
it = col.item(i)
itType = TypeName(it)
If Not IsArray(it) Then
Debug.Print "Item " & i & " -- Value: " & it & " -- Type: " & itType
Else
Debug.Print "Item " & i & " -- Values: [" & Join(it, ", ") & "] -- Type: " & itType
End If
Next i
End Sub
我不認爲這是有可能改變這一限制。 VBE對象模型的搜索沒有顯示任何控制調試器的方法(儘管我可能錯過了某些東西)。字典似乎有相同的限制。 –
你的例子正是我的意思。使用循環或下一個語句寫入直接窗口。再加上一個。 – rohrl77
你給了我這個想法 - 但我認爲使輸出看起來與當地人窗口中看到的類似,這將是一個很好的調整 –