找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15419|回复: 2

[问题求助] vbs中的变量能否输出?

[复制链接]
发表于 2013-10-20 22:35:47 | 显示全部楼层 |阅读模式
本帖最后由 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中。
  1. Sub 方法一()
  2. Dim arr, folder$, brr
  3. folder = """" & "C:\Program Files" & """"
  4. With CreateObject("WScript.Shell")
  5.        brr = .Exec(Environ$("comspec") & " /c dir " & folder & " /s /a:-d /b").StdOut.ReadAll
  6. End With
  7. arr = Split(brr, vbCrLf)
  8. End Sub
复制代码
  1. Sub 方法二()
  2. Dim arr, folder$
  3. folder = """" & "C:\Program Files" & """"
  4. With CreateObject("WScript.Shell")
  5.        .Run Environ$("comspec") & " /c dir " & folder & " /s /a:-d /b > C:\temp.txt", 0, 1
  6. End With
  7. Open "C:\temp.txt" For Input As #1
  8. arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
  9. Close #1
  10. End Sub
复制代码
 楼主| 发表于 2013-10-20 23:50:47 | 显示全部楼层
其实问题等同于,能否将一个vbs中的变量输出的另一个vbs中。
 楼主| 发表于 2013-10-21 07:27:35 | 显示全部楼层
不知道走指针可不可行,正在学习指针。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 15:07 , Processed in 0.009119 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表