ОК, нашел проблему.Похоже, в какой-то момент одна из внешних ссылок на материал VBA не была отмечена (ADO 2.8 Recordset).Я добавил ссылку назад, и теперь она работает нормально.
Поскольку у меня как-то есть 3 отзыва за ответ на мой собственный вопрос (!), Я бы лучше добавил немного подробностей на случай, если другие людивижу эту проблему:
В редакторе Visual Basic, под Сервис -> Ссылки, я выбрал Microsoft ActiveX Data Objects 2.8 Library
.Но Microsoft ActiveX Data Objects Recordset 2.8 Library
не был выбран.Интересно, что эта библиотека даже не отображается как опция при просмотре ее под Windows 7, но макросы работают без нее.
Еще одно замечание, поскольку, очевидно, у многих людей есть эта проблема ... Мой ответВыше описана проблема, но только до тех пор, пока некоторые люди снова не отредактируют файл, после чего их версия Office автоматически заново создаст проблему, и мне пришлось ее снова решить.
Есть два более длинныхтермин решения:
1) Вы можете использовать позднюю привязку и полностью избавиться от указанной библиотеки.Подробнее см. http://support.microsoft.com/kb/245115.
2) Для своих целей я полностью переместил макросы в другую рабочую книгу - эти макросы в любом случае следует запускать только с центрального сервера (люди, просто просматривающиеВ реестре не будет настроен источник данных ODBC, поэтому макросы все равно не будут работать).Итак, теперь первый шаг, который выполняет VBA в рабочей книге макроса, - это открыть фактическую рабочую книгу, а затем он выполняет оставшуюся часть кода VBA без изменений.