2

我正在尝试使用 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

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

4

1 回答 1

2

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

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

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

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

于 2013-07-13T20:40:23.447 回答