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 に答える