Есть макрос, сохранённый в книге, который запускает bat-файл с помощью WshShell.Run. Если добавить каталог с книгой в надёжные расположения, то всё работает, до перезапуска Excel, причем, после перезапуска, путь к каталогу с книгой остаётся в надёжных расположениях и при повторном запуске макроса, он работает согласно своей логике, но получает от WshShell не нулевой код возврата. Чтобы надежное расположение снова учитывалось, нужно в списке расположений нажать Изменить и через Обзор снова выбрать тот же каталог, если просто вставить путь, то работать опять не будет. Если запускать bat-файл отдельно, то он работает правильно.
Почему надежные расположения сохраняются, но после перезапуска не работают? Почему на одних пк макрос работает без проблем, а на других только если добавить каталог с макросом в надёжные расположения?
Есть книга с макросом, макрос вызывает bat-файл, который с помощью rexec запускает процедуру выгрузки на сервере, затем получает результат по ftp, дальше макрос с помощью процедуры IMPORT_F7272_2 импортирует текстовый файл в эксель. Всё работает, но пока выполняется bat файл не открываются другие книги. Как это исправить?
Код
Sub GET_H7272()
ChDir (ThisWorkbook.Path)
Set RunBat = CreateObject("WScript.Shell")
Dim PathToBatch As String
Dim ReturnValue As Double
PathToBatch = ThisWorkbook.Path + "\src\get-f7272.bat"
ReturnValue = RunBat.Run(PathToBatch, 0, True)
Msg = "Готово"
MsgEr = "Выгрузка H7272 завершилась с ошибкой"
Style = vbOKOnly Or vbInformation Or vbDefaultButton1 Or vbSystemModal
If ReturnValue = 0 Then
Call IMPORT_F7272_2
' Resp = MsgBox(Msg, Style)
Else
Resp = MsgBox(MsgEr, Style)
End If
' ActiveWindow.Close
End Sub