У меня есть книга с поддержкой макросов, которую я отправляю клиентам для небольшой обработки данных, и в какой-то момент у меня есть этот код:
Dim dict as Object
set dict = CreateObject("Scripting.Dictionary")
Это работает для большинства клиентов в течение многих лет, нонедавно один клиент сказал, что книга не справляется со своими задачами, поэтому я обнаружил, что на этой линии это был бомбинт с ошибкой Object not found
.Я попросил их добавить ссылку через меню «Инструменты» в «Среду выполнения сценариев Microsoft», а затем изменил строку на
dict = new Dictionary
, после чего все прошло нормально.
Но странная вещь заключается в том, что используется несколько словарей, все они инициализированы с CreateObject
, но бомбардировка ведется только на этой одной строке.Книга отлично работает как на моем компьютере, так и на компьютере коллеги.Версии Excel среди всех одинаковы.Я даже убедился, что клиент сохранил рабочую книгу на своем рабочем столе, а не в защищенной папке «Загрузки», и что при ее открытии не было написано «Режим совместимости».Поэтому у меня почти нет идей относительно того, почему это происходит для этого одного клиента, так как я не могу воспроизвести ошибку, но попытался устранить все переменные.Для меня не практично указывать каждому клиентскому пользователю добавлять ссылку на среду выполнения, поэтому используется CreateObject()
.
Есть идеи?