我想打开一个cmd.exe,然后执行几行代码。
我在网上搜索了一些示例。
我尝试修改的代码:
strToPrint = "Hello World!"
Shell "cmd.exe /K echo " & strToPrint, vbNormalFocus
Run Code Online (Sandbox Code Playgroud)
我发现了如何从VBA将消息写入命令窗口?
我尝试了多行编码,但是这些行在不同的命令窗口中执行:
Sub CMD_VBA_Script()
Shell "cmd.exe /K echo Hello World!", vbNormalFocus
Shell "cmd.exe /K color 0a", vbNormalFocus
End Sub
Run Code Online (Sandbox Code Playgroud)
我知道当我两次调用Shell时,它将执行两次。
我的目标是从VBA调用以下脚本:
@echo off
title Matrix
color 0a
mode 1000
:a
echo %random%%random%
goto a
Run Code Online (Sandbox Code Playgroud)
如何在命令提示符下从VBA执行多行代码?
MyFile = "C:\cmdcode.bat"
fnum = FreeFile()
Open MyFile For Output As #fnum
Print #fnum, "@echo off"
Print #fnum, "title Matrix"
Print #fnum, "color 0a"
Print #fnum, "mode 1000"
Print #fnum, ""
Print #fnum, ":a"
Print #fnum, "echo %random%%random%"
Print #fnum, "goto a"
Close #fnum
' Run bat-file:
Shell MyFile, vbNormalFocus
' optional, remove bat-file:
Kill "C:\cmdcode.bat"
Run Code Online (Sandbox Code Playgroud)
简而言之。您需要创建一个运行的蝙蝠文件。如果完成后不需要蝙蝠文件,可以使用Kill