vba - 如何使用 vba excel 将字符串变量发送到命令提示符?

标签 vba command-prompt

我正在尝试使用 vba excel 将字符串变量发送到命令提示符。 我正在使用以下代码:-

code_name = "xyz.c"
version = "def"
label = "1XDFO"
'open command prompt
    Dim oWsc As Object
    Set oWsc = CreateObject("WScript.Shell")
    Dim oExec As Object
'save config spec in a text file
    Set oExec = oWsc.Exec("perl F:\My_work\hello_world.pl code_name version label")
    While oExec.Status <> 1 ' Wait for process
        Sleep 1000
    Wend

在行调用 perl 脚本时 "oWsc.Exec("perl F:\My_work\hello_world.pl 代码_名称 版本标签")" 我想发送字符串变量code_name,version,label的原始内容;但它按原样发送变量名称而不是内容;谁能帮我这个? 提前致谢。

最佳答案

外部脚本(Perl 或任何其他脚本)如何理解您发送的是变量并读取它们的内容?您只需发送内容:

Set oExec = oWsc.Exec("perl F:\My_work\hello_world.pl " & code_name & " " & version & " " & label)

澄清 1:VBA 或 .NET 或任何其他 Microsoft 语言,不要像其他语言(例如 PHP)那样“读取字符串内的变量”。

澄清 2:即使是能够读取字符串内变量的语言也无法管理“在其框架之外”正在执行的操作。如果您从外部程序调用 PHP 脚本,则无法像现在一样调用它,因为 PHP 对外部程序的行为及其变量没有任何控制。

关于vba - 如何使用 vba excel 将字符串变量发送到命令提示符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17632875/

相关文章:

excel - 如何将串行端口(例如 COM 3)的输入以十六进制形式读取到 Excel 文件中?

excel - Excel 中的单词替换宏不起作用

vba - 每 5 秒在另一个工作表 VBA 中记录 2 个单元格中的值

excel - 如何使用 ActiveSheet 变量?

vba - 让用户单击单元格作为使用 VBA 的 Excel InputBox 的输入

java - 使用命令提示符运行 Java 程序时遇到问题

window - 通过命令提示符或 powershell 更改 Windows 10 中 Wi-Fi 软件的 radio 状态

windows - easy_install.exe 权限在 Windows 8 上被拒绝

windows - 有没有办法从 for 循环中的通配符中排除某些值/变量

for-loop - 批处理文件,For 循环不回显行