【发布时间】:2018-08-17 17:53:56
【问题描述】:
我在使用 VBA 时遇到问题,并注意到它的字符串限制为 255 个字符。我实际上是在尝试通过 POST 发送 JSON 并暂停执行我注意到该字符串始终只有 255 个字符。
有没有办法调整字符串的大小?
【问题讨论】:
我在使用 VBA 时遇到问题,并注意到它的字符串限制为 255 个字符。我实际上是在尝试通过 POST 发送 JSON 并暂停执行我注意到该字符串始终只有 255 个字符。
有没有办法调整字符串的大小?
【问题讨论】:
我在这个问题上浪费了大约 6 个小时来最终检查它是否只是一个 DEBUGGER LIMITATION 。 VBA 调试器只显示字符串的 255 个字符,但这并不意味着它只包含他所显示的内容。
当事情变得疯狂时,我注意到了这一点,当我使用 MsgBox 和 Len 检查字符串大小和内容时,它浮出水面。
希望它有所帮助,因为我读到很多人都在问这个问题,但没有人告诉我。
【讨论】:
如果您想在控制台(立即窗口)上打印某些内容,您可以简单地将其打印到记事本上,理论上结果将是相同的,并且超过 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
【讨论】: