Application.ScreenUpdating = False
Workbooks.Application.DisplayAlerts = False
On Error Resume Next
a = адрес файла
Workbooks.Open FileName:=a
выскакивает ошибка, если файл занят проверял Workbooks.Application.DisplayAlerts = False в immediate ?Workbooks.Application.DisplayAlerts Вывод она отключается или не выключается(выключается внутри модуля) видно при открытие файла при переходе к ниму и обратно ексель забывает что у него игнор ошибок и DisplayAlerts = False как с этим бороться?
Если файл занят, то файл открывается в режиме Только для чтения, при этом не появляется никаких сообщений (если открывается макросом). Не понятна Ваша ситуация.
Прежде чем обсуждать On Error Resume Next, сначала нужно понять, что у Вас там вообще происходит. Почему при открытии файла появляется ошибка? Какая ошибка? Файлы в локальной сети находятся?
Вообще у Вас включен режим для работы с обработчиком ошибок? Такой код у Вас работает без возникновения ошибки?
Код
Sub jjj()
On Error Resume Next
Debug.Print 1 / 0
End Sub
Karataev написал: Почему при открытии файла появляется ошибка? Какая ошибка? Файлы в локальной сети находятся?
причина точно не ясна, скорей всего происходит какае то транзакция другим пользователем с этим файлом ошибка 1004 выделяет строку Workbooks.Open FileName:=a файлы в локальной сети
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
имхо - так делать не правильно - если файл нужен вам только для чтения - откривайте с атрибутом только чтение, если для записи - делайте проверку его доступности. А то результат может быть весьма непредсказуемым:)
ну я исключаю прямую попутку открыть файл и при получение ошибки поймать её код, который может совпасть с номером ошибки по другим причинам которые не мешают выполнению.
уточнения "файл временно не доступен" т.е. может 1 секунду, может 5 секунд (комп тормозит), может 5 мин (синхронизация дисков), но все это не точно так как перво причина не локализована и есть только догадки.
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
Dima S, почитал эту тему, там в основном проверка открытости, у меня она есть в коде, и проблем не вызывает UserStatus тоже не суть проблемы, она показывает статус книги, а не то что происходит в данную секунду
Основной проблема, почему при включенном игноре ошибок и отключенных предупреждений выскакивает окно об ошибки ( может по какой то причине она отключается при возникновение какой то ситуации), в связи с чем хочу проверить статус игнора ошибок в определенный период выполнения кода, Workbooks.Application.DisplayAlerts проверить вообще невозможно так как в процедуре показывает что отключен, а в immediate включен
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
Dima S, давайте опишу подробней 1.общий файл Х, находится в локальной сети 2. к нему имеют пользователи с разными правами (для чтения, для редактирование) 3. с самим файлом работают через другой, который в зависимости от статуса пользователя Собирает информацию из него, редактирует, вносят новые данные 4. в вовремя работы пользователи очень часто обращаются к файлу через макросы (внос изменения, сохранить, закрыть, открыть)
-иногда во время открытие возникает ошибка на открытие файла (код уже писал, при включенном игноре ошибок)
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
guzen_pilot, да знаю про эвенты, надо будет попробовать, но это равносильно отключение действие по запуску файла, эвент на открытие файла просматривал и не нашел там кода отключающий игнор ошибки.
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"