У одного из моих коллег есть 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 дня. Я все еще могу сломать его, если правильно выбрать время, поэтому опция «Подождать закрытия» может быть долгосрочным решением.