1

Excel で VBA マクロを作成する必要があります。

タスクは、ボタンがクリックされるとコマンドが cmd で実行されることです。

実行するコマンドはrfrompcbであり、ファイルのパスを引数として使用するため、スペースが含まれているため、パスをラップする最初のレベルの文字列があります。このコマンドは cmd で実行されるため、cmd コマンドの引数である第 2 レベルの文字列があります (これがcmd /c "rfrompcb ""file_path"""正しいことを願っています)。次に、VBA のシェルによって呼び出されるため、cmd コマンドをラップし、シェルの引数として機能する第 3 レベルの文字列があります。

私の質問は次のとおりです。二重引用符はいくつ必要ですか? 最終的なコマンドライン文字列がどのようになるかについて、私はかなり混乱しています。そのような文字列を作成する方法を誰かに教えてもらえますか? または、文字列の入れ子を少なくする別の方法はありますか?

ありがとう。

4

1 に答える 1

0

を引用するだけで済みますfile_path。たとえば、次のようになります。

shell environ$("COMSPEC") & " /c dir ""c:\program files\"" /b"

environ$("COMSPEC")のフルパスを返すだけですcmd.exe

実行したい実行可能ファイルのパスを引用符で囲む必要がない場合は、引用符で囲む必要がある引数を渡します。

Shell Environ$("COMSPEC") & " /c rfrompcb ""file path"""

exe パスを引用符で囲む必要がある場合は、次のようにすべてを別の引用符で囲む必要があります。

cmd.exe /c ""c:\path to\rfrompcb" "file path""

できること:

Shell Environ$("COMSPEC") & " /c """"c:\path to\rfrompcb"" ""file path""""" 
于 2012-05-17T12:04:44.507 に答える