VBS字符串问题
发布网友
发布时间:2022-05-03 11:07
我来回答
共3个回答
热心网友
时间:2022-06-19 07:28
dim OriStr(3)
OriStr(1)="S:12.23.45.56:12345"
OriStr(2)="H:123.158.146.111:526"
OriStr(3)="H:232.30.158.24:12456"
for i= 1 to 2 step 0 '建立一个死循环,目的用于重复运行,不用每运行一次就重开一次 -VBS不能用goto
LNum=inputbox("输入行数:","InputBox") '输入第几行
if LNum="" or isnumeric(LNum)=false then exit for '判断输入是不是合法,如果不输,或者输的不是数字,直接退出
if LNum=1 or LNum=2 or LNum=3 then '如果输的是数字1,2,3中的一个
Msgbox left(OriStr(Lnum),1) 'MSGBOX第一个字符(你要求的第一个msgbox)
Pos1=instr(1,Oristr(LNum),":") '判断第一个冒号的位置
Pos2=instr(3,OriStr(LNum),":") '判断第二个冒号的位置
Msgbox mid(OriStr(LNum),Pos1+1,Pos2-Pos1-1) 'MSGBOX第一个冒号和第二个冒号中间的内容 (你要求的第二个msgbox)
Msgbox right(Oristr(Lnum),Len(Oristr(LNum))-Pos2)'MSGBOX第二个冒号后面的内容 (你要求的第三个msgbox)
else
msgbox "输入正确的值" '如果输入的数字不是1,2或3,给一个错误提示,重新输入
end if
next
热心网友
时间:2022-06-19 07:28
Sub aaa()
On Error Resume Next
If Dir(Filename) = "" Then Exit Sub
r = Val(InputBox("显示第几行:", "对话框"))
If r = 0 Then Exit Sub
Open Filename For Input As #1
For i = 1 To r
Line Input #1, s
Next
Close #1
If s = "" Then
MsgBox "无数据!", 48
Exit Sub
End If
arr = Split(s & "::", ":") '加俩冒号是防止文件格式不符,导致数组越界
For i = 0 To 2
MsgBox arr(i), 48
Next
End Sub
热心网友
时间:2022-06-19 07:29
<文本读取>
'此时S as string = "S:12.23.45.56:12345" & vbcrlf & "H:123.158.146.111:526" & vbcrlf & "H:232.30.158.24:12456"
'以下是过程,以按钮为例
Private Sub Command1_Click()
On Error GoTo e:
Dim b As Integer
b = Val(InputBox("Input Line#"))
For i = 0 To 2
MsgBox Split(Split(S, vbCrLf)(b - 1), ":")(i)
Next
Exit Sub
e:
MsgBox "Wrong Line#"
End Sub
若是文本文件,读取方法为
Dim s As String, f As Long
const path as string ="d:\data.txt" '文本文件位置
f = FreeFile
Open path For Binary As #f
s = Space(LOF(f))
Get #f, , s
Close #f