|
楼主 |
发表于 2011-7-16 17:16
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
原帖由 灰袍法师 于 2011-7-16 16:35 发表
我的天,这个版本的 ping 输出结果也太怪异了吧,主机名前面为毛要有一串反过来的IP地址吖,而且带了域名arpa。。。。。。
算了,每个人自己根据自己的ping输出结果来修改VBA的截取代码吧,或者自己用公截取关 ...
法师说的是改(11楼)18楼的代码吧,18楼代码可以得到主机名+IP+MAC ,但太慢了要160秒,如果改了只要计算机名,应该还是很慢。
我只想要计算机名,用了法师前面所说方法,只用一句批处理net view>netnames.txt,再直接用法师6楼的VBA,只增加了去除“\\”- Sub 按钮1_Click()
- Dim mybat, mytxt, myline, i As Long, j As Long, k As Long, arr
- mybat = "getnetname.bat"
- mytxt = "netnames.txt"
- ChDir ThisWorkbook.Path '强制改变默认的工作目录
- Shell """" & ThisWorkbook.Path & "" & mybat & """"
- delay (6000) '延迟6秒
- Open ThisWorkbook.Path & "" & mytxt For Input As #1
- Range("a2:a" & Rows.Count).ClearContents
- i = 2
- Do While Not EOF(1)
- Line Input #1, myline
- myline = Replace(Trim(myline), "\", "") '再加上去除"\"
- arr = Split(myline, " ")
- k = 0
- For j = 0 To UBound(arr)
- If Len(arr(j)) > 0 Then
- k = k + 1
- Cells(i, k).Value = arr(j)
- End If
- Next
- i = i + 1
- Loop
- Close #1
- End Sub
复制代码 6秒钟可得到全部计算机名,
但多了前边三行和最后一行“命令成功完成。”,还有网络解释名。这个我不会去除,能给再改一下吗?
[ 本帖最后由 ming668 于 2011-7-16 17:18 编辑 ] |
|