Для небольшого проекта я хочу, чтобы макрос открыл cmd.exe, а затем выполнил несколько строк кода.Как ввести несколько строк кода в CMD из VBA?
Я искал в Интернете несколько хороших примеров и не нашел нужного решения. Код, который я попытался модифицирование заключается в следующем:
strToPrint = "Hello World!"
Shell "cmd.exe /K echo " & strToPrint, vbNormalFocus
Я нашел этот код на: How to write message to command window from VBA?
Для моего теста я попытался превратить его в множественную линию кодирования, но после выполнения следующего кода обе строки выполнены в различных командных окнах см ниже код:
Sub CMD_VBA_Script()
Shell "cmd.exe /K echo Hello World!", vbNormalFocus
Shell "cmd.exe /K color 0a", vbNormalFocus
End Sub
Я понимаю, когда я называю Shell в два раза, что он будет выполняться два раза, но я не могу понять, как поместить несколько строк в одну командной строки.
Моя конечная цель состоит в том, чтобы вызвать следующий скрипт из VBA:
@echo off
title Matrix
color 0a
mode 1000
:a
echo %random%%random%
goto a
Может кто-то помочь мне в правильном направлении, как выполнить несколько строки кода из VBA в командной строке?
С уважением, Dubblej
Спасибо, это работает! Я добавил «Application.Wait (Now + # 12: 00: 03 AM #)» в код перед командой Kill, теперь файл был выполнен в течение 3 секунд, а затем он был убит. – Dubblej
Нет проблем! Обычно я использую функцию sleep(), когда хочу отложить код. 'Sleep (3000)' немного проще писать. – Andreas