2016-01-08 4 views
0

У меня есть пакетный файл содержитрегистрация ошибок VBA первенствует Batch команду

echo test string >>Log.txt 

, когда я нажимаю на него это сделает файл Log.txt и «тестовую строку» будет в нем. Но когда я запускаю командный файл из VBA excel с использованием WScript.Shell, он не создает файл Log.txt. Но пакетный код работает. Как я могу заставить его работать? Я использую windows7 и excel 2007

+2

Что это связано с Excel/VBA? – BruceWayne

+2

Скорее всего, вы не знаете, где находится файл, чем тот, который он не создается. Запустите [Process Monitor] (https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx), когда это произойдет, и посмотрите, где находится 'Log.txt'. – mojo

ответ

1

Предлагаю указать абсолютный путь к файлу.

echo test string >>"%USERPROFILE%\Document\Log.txt" 

Наиболее распространенное разочарование я испытываю при использовании относительных путей является то, что это относительно «рабочим каталогом» окно использует для вызывающего процесса, и если он запущен из проводника, который может быть легко% WINDIR% или некоторыми где вы не хотите, чтобы материал был сохранен.

+0

Это было правильно. Я дал абсолютный путь и теперь его рабочий штраф. Спасибо за ответ – user3647205

Смежные вопросы