Board logo

標題: [發問] VBA STRING 字串 最多字元限制?? [打印本頁]

作者: lichang    時間: 2016-3-28 11:08     標題: VBA STRING 字串 最多字元限制??

請問各位大大,我如何增加STRING字串中最大的字元數目量
我被限制在255的字元

謝謝
作者: c_c_lai    時間: 2016-3-28 11:37

回復 1# lichang
VB 字串的總和可以在某些情況下超過 64K
作者: lichang    時間: 2016-3-28 13:22

回復 2# c_c_lai

小弟不才,不知為何用此宣告後,字元完全不出來了???

Dim i As String
i = Space(64000)
                                                                                                                                 
For j = 1 To 1000
i = i & j
Next j
     MsgBox i
End Sub
作者: 訪客    時間: 2016-3-28 14:47

回復 3# lichang
執行後,所得的i值字元長度共66893個字元,其中最前面的64000個字元是空白字元。
因 MsgBox 的限制最多只能顯示1023個字元,所以 MsgBox i只能顯示66893字元的前1023個空白字元(類似無字天書)。
請用底下的來測試看看:
Sub test()
    For i = 1 To 1000
        For j = 1 To 10
            x = x & Right(j, 1)
        Next j
    Next i
    MsgBox x        '最多只能顯示1023個字元
    MsgBox "其實 x 的字元長度是:" & Len(x)
End Sub
作者: lichang    時間: 2016-3-28 15:43

回復 4# 訪客

那請問有什麼方式可以所有訊息都顯示出來嗎??
作者: 訪客    時間: 2016-3-28 20:56

回復 5# lichang
若真要看那麼多字元訊息,在想不到好的招數下,只能拆分後顯示於儲存格了。
如下範例:
Sub test()
    For i = 1 To 1000
        For j = 1 To 10
            x = x & Right(j, 1)
        Next j
    Next i
    MsgBox x        '最多只能顯示1023個字元
    MsgBox "其實 x 的字元長度是:" & Len(x)
   
    ' 將訊息以每50個字元拆分後放入儲存格
    For i = 1 To Len(x) Step 50
        r = r + 1
        Cells(r, 1).NumberFormatLocal = "@"
        Cells(r, 1).Value = Mid(x, i, 50)
    Next i
End Sub
作者: jackyq    時間: 2016-3-28 20:58

用 textbox 裝
作者: jackyq    時間: 2016-3-28 21:47

or 寫到 txt 檔




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)