标题: [问题求助] vbs中的变量能否输出? [打印本页]
作者: loquat 时间: 2013-10-20 22:35 标题: vbs中的变量能否输出?
本帖最后由 loquat 于 2013-10-20 22:44 编辑
http://bbs.bathome.net/viewthread.php?tid=5695
小弟最近在学VBA,有个突发奇想,不知道可不可行?
在VBA中定义一个变量,然后将vbs运行的结果存到VBA的变量中。
例如:这两段VBA代码,前一段有个黑窗口一闪而过。后一段生成了临时文件,无形中影响了执行效率。
看了上面那个帖子2#,在VBA中可以使用exec方法将命令执行的结果保存到变量中,且能隐藏窗口。但是却只能在vbs下运行。
故此想到,有没有可能从vbs中输出变量到VBA中。- Sub 方法一()
- Dim arr, folder$, brr
- folder = """" & "C:\Program Files\" & """"
- With CreateObject("WScript.Shell")
- brr = .Exec(Environ$("comspec") & " /c dir " & folder & " /s /a:-d /b").StdOut.ReadAll
- End With
- arr = Split(brr, vbCrLf)
- End Sub
复制代码
- Sub 方法二()
- Dim arr, folder$
- folder = """" & "C:\Program Files\" & """"
- With CreateObject("WScript.Shell")
- .Run Environ$("comspec") & " /c dir " & folder & " /s /a:-d /b > C:\temp.txt", 0, 1
- End With
- Open "C:\temp.txt" For Input As #1
- arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
- Close #1
- End Sub
复制代码
作者: loquat 时间: 2013-10-20 23:50
其实问题等同于,能否将一个vbs中的变量输出的另一个vbs中。
作者: loquat 时间: 2013-10-21 07:27
不知道走指针可不可行,正在学习指针。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |