0

セル C9 に値がある場合、ここのシート 1 は、VBA から .bat スクリプトを実行するために使用するコードであると仮定します。

> Blockquote

Fileset = Sheet1.Range("C9")

txtFpath = Sheet1.Range("C7").Value
FilePath = txtFpath & "\res.bat"

ChDrive "D"
RSP = Shell(Environ$("COMSPEC"), vbNormalFocus)
Application.Wait Now + TimeValue("00:00:03")
SendKeys "CD " & txtFpath & "{ENTER}", True
Application.Wait Now + TimeValue("00:00:03")
SendKeys "start " & FilePath & "{ENTER}", True
Application.Wait Now + TimeValue("00:00:03")
SendKeys "exit " & "{ENTER}", True
Application.Wait Now + TimeValue("00:00:03")
SendKeys "exit " & "{ENTER}", True
Application.Wait Now + TimeValue("00:00:03")
SendKeys "exit " & "{ENTER}", True


> Blockquote

そして、これは私が使用する res.bat です

引用符

@echo off
>summary.txt (
  for %%F in (*chkpackage.log) do findstr /l ###FileSet### "%%F" nul||echo %%F:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A
)

引用符

私の質問は、c9 の値をバット ファイルの ### ファイルセット ### に入れる方法です。

お時間とご回答ありがとうございます

4

1 に答える 1

1

バッチ ファイルでパラメーターを使用して、範囲 "C9" の値を簡単に送信できます。

パラメータを追加するVBAコード

SendKeys "start " & FilePath & " " & FileSet & "{ENTER}", True

パラメータを使用したバッチ

@echo off
>summary.txt (
  for %%F in (*chkpackage.log) do findstr /l %1 "%%F" nul||echo %%F:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A:N/A
)

編集: C9 の値に空白が含まれている場合は、パラメーターの周りに引用符を追加する必要があります。そうしないと、最初の単語のみが使用されます (誰かがもっと良い方法を提案してくれることを願っています!)

于 2012-12-06T09:39:18.003 に答える