InputBox不允许某些ASCII控制字符

问题描述 投票:0回答:1

当前正在使用已嵌入ASCII控制章程的字符串。

[)><RS>06<GS>17V0B100<GS>1PRID-001-A1<GS>S99999<RS><EOT>

下面正确过滤出记录分隔符

i = InputBox("Test") 'i = [)><RS>06<GS>17V0B100<GS>1PRID-001-A1<GS>S99999<RS><EOT>
i = Split(i, Chr(30)) 
'i(1) = 0617V0B1001PRID-001-A1S99999

但是组分隔符不。为什么下面的内容不分开?

i = InputBox("Test") 'i = [)><RS>06<GS>17V0B100<GS>1PRID-001-A1<GS>S99999<RS><EOT>
i = Split(i, Chr(29)) 
'i(0) = [)>0617V0B1001PRID-001-A1S99999
vba inputbox
1个回答
0
投票

忽略输入框,可以正常工作:

Dim s As String, arr

s = "[)><RS>06<GS>17V0B100<GS>1PRID-001-A1<GS>S99999<RS><EOT>"

s = Replace(s, "<RS>", Chr(30))
s = Replace(s, "<GS>", Chr(29))

Debug.Print s                         '[)>0617V0B1001PRID-001-A1S99999<EOT>

Debug.Print Split(s, Chr(30))(1)      '0617V0B1001PRID-001-A1S99999

Debug.Print Split(s, Chr(29))(0)      '[)>06
Debug.Print Split(s, Chr(29))(1)      '17V0B100
© www.soinside.com 2019 - 2024. All rights reserved.