У меня есть макрос, который я использую уже много лет, и который внезапно начал выдавать ошибку «Переменная объекта или переменная блока не установлена».
Чтобы попытаться изолировать проблему, я создал этот тест:
Private Sub test()
Debug.Print ActiveWorkbook.Name
End Sub
Я получаю ту же ошибку объекта (ошибка времени выполнения «91») и не могу придумать причину, по которой это должно происходить, когда я даже не использую переменную в тесте. Я заметил, что это происходит только с одним конкретным файлом .XLS, но этот файл присылается мне по электронной почте каждый месяц, и я использовал один и тот же макрос для обработки этих файлов в течение многих лет. Я создал новый файл .XLS на своем рабочем столе в том же месте, где находится проблемный файл, и могу print ActiveWorkbook.Name без ошибок.
Я с ними не разговаривал, но, к вашему сведению, я кое-что заметил. Я разместил это как ответ. Если в следующем месяце файл появится таким же образом, я свяжусь с вами, чтобы узнать, почему это происходит. Спасибо,


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