Ошибка автопереиздания Excel/автоматическое закрытие окон

Ошибка автопереиздания Excel/автоматическое закрытие окон

У одного из моих коллег есть 9 рабочих книг Excel, которые отправляют запросы на производственный сервер, организуют данные и выводят файлы .mht в виде «панелей мониторинга» для производственных работников.

Некоторые из них отправляют запросы каждые 3 минуты, некоторые — только каждый час.

Мы видим 2 общие ошибки.

Вот этот

введите описание изображения здесь

и этот

введите описание изображения здесь

которая на самом деле появляется после ошибки «Недопустимый веб-запрос» с единственной кнопкой «ОК».

На данный момент это не является проблемой, поскольку случается редко и только тогда, когда считываемый файл заблокирован.

Первая ошибка происходит только при сохранении, когда целевой файл заблокирован. Я ставил Application.DisplayAlerts = Falseперед каждым сохранением макрос в каждой книге, но это не избавило от верхней ошибки.

Я пробовал вставить в эту кучу промежуточный файл, но улучшений не произошло.

Сегодня я попробовалэто в AutoITи он может устранить вторую ошибку, но не срабатывает ни при одной (я почти уверен) комбинации «ключей», как выразился автор.

Это работает, если я заставляю его искать по всему Excel, но это также убивает мою таблицу.

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

Что я могу сделать, чтобы решить эту проблему?

решение1

Возможное решение при тестировании — окружить ActiveWorkbook.Save приведенным ниже оператором If и использовать другую подпрограмму для паузы.

Sub PUBLISH()
'Call TIME
Application.DisplayAlerts = False

If GetAttr("Z:\CHGME\_Production Scheduling\ADMIN\7 Day WIP.mht") And vbReadOnly Then
    Application.Run "Sheet1.WAITtoPUBLISH"
Else
    ActiveWorkbook.Save
End If
End Sub

`Private Sub WAITtoPUBLISH()    
Application.OnTime Now() + TimeValue("00:00:30"), "PUBLISH"
End Sub

Он держится уже 2 дня. Я все еще могу сломать его, если правильно выбрать время, поэтому опция «Подождать закрытия» может быть долгосрочным решением.

Связанный контент