我遇到了使用VBA的问题,并注意到它有一个字符串限制为255个字符。我实际上是尝试通过POST发送JSON并暂停执行我注意到该字符串总是只有255个字符。
有没有办法调整字符串的大小?
答案 0 :(得分:6)
我浪费了大约6个小时来解决这个问题,最后检查它只是一个 DEBUGGER LIMITATION 。 VBA调试器只显示字符串的255个字符,但并不意味着它包含他正在显示的内容。
当事情变得疯狂时我注意到了这一点,当我使用MsgBox
和Len
来检查字符串大小和内容时,它就浮出水面。
希望它有所帮助,因为我看到很多人要求这样做,但没有人告诉它。
答案 1 :(得分:1)
如果你想在控制台上打印一些东西(即时窗口)你可以简单地将它打印到记事本,结果理论上是相同的并且高于255行(不是字符)。以下是如何在记事本中打印1到10.000的数字:
Option Explicit
Public Sub PrintToNotepad()
Dim strShell As String
Dim strFileName As String
Dim fs As Object
Dim objText As Object
strFileName = ThisWorkbook.Path & "\test" & Replace(Now, ":", "")
Set fs = CreateObject("Scripting.FileSystemObject")
Set objText = fs.CreateTextFile(strFileName, True)
objText.writeline (GenerateBigString)
strShell = "C:\WINDOWS\notepad.exe" & " "
strShell = strShell & strFileName
Call Shell(strShell)
End Sub
Public Function GenerateBigString() As String
Dim i As Long
Dim result As String
For i = 1 To 10000
result = result & i & vbCrLf
Next i
GenerateBigString = result
End Function