|
楼主 |
发表于 2011-7-18 17:50
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
原帖由 灰袍法师 于 2011-7-18 15:37 发表
显示不全是什么意思???
你在 MsgBox Result 这一行按F9,程序就会在这一句暂停,把result这个单词高亮并拖拉入监视窗口,就可以看到result里面的内容
用监视窗口可以很方便地调试你的程序。
按照法师的指导,套用了apollokk 的函数,我成功的把计算机名放入了复合框控件,但还有点问题没能解决。
代码如下:- Private Sub UserForm_Initialize()
- Dim WSH, wExec, sCmd As String, Result As String
- Dim Upper
- Set WSH = CreateObject("WScript.Shell")
- Set wExec = WSH.Exec("net view")
- 'delay (7000)
- Result = wExec.StdOut.ReadAll
- Upper = myReplace(Result) '先用正则表达式把多个空白符处理成一个,再Split
- Upper = Split(Upper)
- Set wExec = Nothing
- Set WSH = Nothing
- ComboBox1.List = Upper
- End Sub
复制代码
- Function myReplace(ByVal s As String) As String
- 'apollokk写的函数
- '将字符串中的多个连续空白符成一个
- '调用:str=myReplace(ostr)
- myReplace = ""
- With CreateObject("VBSCRIPT.REGEXP")
- .Global = True
- .IgnoreCase = True
- .Pattern = "\s+" '查找空白字符,空格、制表符什么的
- myReplace = .Replace(s, " ")
- End With
- End Function
复制代码 最后的结果就是数组中下列多余的数据不知怎么去掉。
1、服务器名称
2、注释
3、-----------------------
4、网络解释名(有多个)
5、\\
6、命令成功完成
能否再帮忙解决下吗?
[ 本帖最后由 ming668 于 2011-7-18 18:01 编辑 ] |
|