#excel #vba
Вопрос:
Я пытаюсь запустить макрокод, который работал в 32-разрядном (раньше работал), но так как я только что обновил свою машину, я использую 64-разрядный Excel, и этот код больше не работает. Мне нужно, чтобы это работало в 64-разрядной версии. Пожалуйста, помогите мне исправить это, пожалуйста:
AdoConn
.ConnectionString = “provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ amp; strFileSource amp; “;Persist Security Info=False”
.Open
Это показывает проблему в .Open
Огромное спасибо.
Комментарии:
1. 32-разрядный код будет работать, но вам также необходимо установить 32-разрядные драйверы
2. этот код больше не работает и слишком расплывчат, чтобы быть полезным. В чем это не работает ?
3. docs.microsoft.com/en-us/office/troubleshoot/access/…
4. Вам действительно нужно использовать 64-разрядный Office? Если нет, установите 32-разрядную версию.
Ответ №1:
Вы можете обнаружить несовместимость с драйвером Microsoft.Jet.OLEDB.4.0 (32-разрядный) в 64-разрядной ОС.
Вы можете использовать 32-разрядный драйвер Microsoft.Jet.OLEDB.4.0 (32-разрядная версия) в 64-разрядной ОС, но вы должны принудительно выполнить сборку приложения в 32-разрядном режиме.
Если вы не хотите или не можете этого сделать, доступна 64-разрядная версия драйвера (Microsoft.ACE.OLEDB.12.0), которая работает на 32 и 64-разрядной ОС.
Попробуйте изменить:
.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" amp; strFileSource amp; ";Persist Security Info=False"
Для
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" amp; strFileSource amp; ";Persist Security Info=False"
Если драйвер не зарегистрирован на вашем компьютере, его можно загрузить с веб-сайта Корпорации Майкрософт: https://www.microsoft.com/en-us/download/details.aspx?id=54920
Кроме того, не только 4.0 меняется на 12.0, » Jet «также меняется на «ACE».