Я новичок в этом и надеюсь, что я делаю это правильно.Выполнение .bat-файла из VBA vs Выполнение .bat-файла с помощью ручного нажатия
У меня есть файл bat, который будет искать ключ реестра под hklm \ Apache Software Foundation \ Tomcat. Файл Bat возвращает ответ, когда я вручную нажимаю на него, но не выполняет поиск ключа, когда он вызывается Shell с помощью Excel VBA. Вот файл летучая мышь:
@echo off
setlocal enableextensions enabledelayedexpansion
set xx=2
for /f "tokens=3 delims= " %%D in (
'reg query \\servername"\hklm\software\Apache Software Foundation\Tomcat" /s /v Version'
) do (
if !xx!==1 set "var3=%%D,"
set /a "xx = xx - 1"
)
if "%var3%"=="" (set "var3= ,")
echo %var3%
pause
и вот как это называется по VBA: вызовов Shell ("C: \ Users \ mynetworkID \ Desktop \ c.bat")
Он запускает файл битой правильно но он не выполняет поиск ключа регистра. Любые идеи почему? Заранее спасибо
Попробуйте использовать @echo вне линии: посмотрите, что он на самом деле делает –
Он отображает блоки кода, но ошибка остается, когда я запускаю биту с VBA. FYI это сообщение об ошибке: Ошибка: Системе не удалось найти указанный раздел реестра или значение – Alex
Вы работаете под управлением администратора при запуске вручную? Или как тот же пользователь, который запускает Excel? –