Ошибка VBA CreateObject только в одном экземпляре - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть книга с поддержкой макросов, которую я отправляю клиентам для небольшой обработки данных, и в какой-то момент у меня есть этот код:

Dim dict as Object
set dict = CreateObject("Scripting.Dictionary")

Это работает для большинства клиентов в течение многих лет, нонедавно один клиент сказал, что книга не справляется со своими задачами, поэтому я обнаружил, что на этой линии это был бомбинт с ошибкой Object not found.Я попросил их добавить ссылку через меню «Инструменты» в «Среду выполнения сценариев Microsoft», а затем изменил строку на

dict = new Dictionary

, после чего все прошло нормально.

Но странная вещь заключается в том, что используется несколько словарей, все они инициализированы с CreateObject, но бомбардировка ведется только на этой одной строке.Книга отлично работает как на моем компьютере, так и на компьютере коллеги.Версии Excel среди всех одинаковы.Я даже убедился, что клиент сохранил рабочую книгу на своем рабочем столе, а не в защищенной папке «Загрузки», и что при ее открытии не было написано «Режим совместимости».Поэтому у меня почти нет идей относительно того, почему это происходит для этого одного клиента, так как я не могу воспроизвести ошибку, но попытался устранить все переменные.Для меня не практично указывать каждому клиентскому пользователю добавлять ссылку на среду выполнения, поэтому используется CreateObject().

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...