バッチファイルコードは次のとおりです。
@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)
バッチファイルを呼び出すVBAExcelのコードは次のとおりです。
FileSet = Sheet1.Range("C13")
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 & " " & FileSet & "{ENTER}", True
Application.Wait Now + TimeValue("00:00:03")
SendKeys "exit " & "{ENTER}", True
Application.Wait Now + TimeValue("00:00:03")
SendKeys "exit " & "{ENTER}", True
しかし、私はバッチファイルを使いたくありません。VBAで使用するコマンドに変更したい。したがって、VBAを使用してバッチとコマンドラインを呼び出す代わりに、VBAとコマンドラインのみを使用できます。
簡単な説明は、そのコマンドをバッチファイルでExcel-VBAに入れ、VBA呼び出しを使用して実行し、cmd
そのコマンドを自動入力してcmd
そのコードを高く評価したいということSendkeys
です。