Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Excel не сохраняет надежные расположения
 
Есть макрос, сохранённый в книге, который запускает bat-файл с помощью WshShell.Run. Если добавить каталог с книгой в надёжные расположения, то всё работает, до перезапуска Excel, причем, после перезапуска, путь к каталогу с книгой остаётся в надёжных расположениях и при повторном запуске макроса, он работает согласно своей логике, но получает от WshShell не нулевой код возврата. Чтобы надежное расположение снова учитывалось, нужно в списке расположений нажать Изменить и через Обзор снова выбрать тот же каталог, если просто вставить путь, то работать опять не будет.
Если запускать bat-файл отдельно, то он работает правильно.

Почему надежные расположения сохраняются, но после перезапуска не работают?
Почему на одних пк макрос работает без проблем, а на других только если добавить каталог с макросом в надёжные расположения?
Изменено: EShikh - 25.03.2025 07:53:33
Не открывается другая книга, когда выполняется bat из vba.
 

Есть книга с макросом, макрос вызывает 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
Страницы: 1
Наверх