Vb中编写的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:38:20
Sub Main()
On Local Error Resume Next
Shell ("ping 192.168.1.1 >c:\fu"), vbHide
Dim fu As String, lines As String, zi As String
lines = ""
Dim filetxt As String, x As Variant, i As Integer
filetxt = String(FileLen(fu), " ")
Open fu For Binary As 1
Get #1, , fu
Close 1
x = Split(fu, vbCrLf)
MsgBox UBound(x) + 1 '行数
If 5 > UBound(x) Then MsgBox "行溢出", 64, "err!"
If 5 <= UBound(x) Then
If 5 + 1 <= UBound(x) Then
For i = startline To startline + linenum - 1
lines = lines & x(i) & " "
Next
Else
For i = startline To UBound(x)
lines = lines & x(i) & " "
Next
End If: End If
zi = Left(lines, 5)
If zi = "reply" Then
MsgBox ("有啊~!!")
Else
MsgBox ("没有!")
End If
End Sub

我的本意:ping 192.168.1.1,记录保存在fu中,读取fu的第5行的前5个字符,如果字符是"r

1 修改shell语句为:Shell ("cmd /c ping 192.168.1.1 >c:\fu"
2 修改String(FileLen(fu), " ") 为 Str(FileLen("c:\fu"))
3 修改Open fu For Binary As 1 为Open "c:\fu" For Binary As 1
fu为文件路径 需要绝对引用
后面的代码就没看了 应该问题不大吧~
仔细看看了 你的代码 还有些问题 :
前半部分修改如下: fu可以制定扩展名txt 可不指定 :后面的代码根据你自己的结果 可以随便更改了 应该不成问题了:
Shell ("cmd /c ping 192.168.0.4 >c:\fu.txt"), vbHide
Dim fu As String, lines As String, zi As String, a As Integer
lines = ""
Dim filetxt As String, x As Variant, i As Integer

filetxt = Str(FileLen("c:\fu.txt"))
Open "c:\fu.txt" For Input As #1
Do Until EOF(1)
Line Input #1, st

a = a + 1
Loop
Close
MsgBox a '返回了文本文件中的行数 st为每行内容
....略