2016-02-05 1 views
3

Я использую ADO для обработки многих книг Excel .xls и .xlsx без каких-либо проблем. Недавно я попытался обработать рабочую книгу .xlsm для загрузки в базу данных Access. Книга содержит несколько макросов, которые запускаются каждый раз, когда пользователь открывает рабочую версию Excel. Макросы обновляют данные «вчера» с «сегодняшними» данными. К сожалению, когда я читаю книгу программно, ADO возвращает «вчерашние» данные. Это означает, что макросы не работают, когда я открываю книгу с помощью ADO. Какие-либо предложения. Надеюсь, мне не нужно переписывать код, чтобы открыть экземпляр Excel для обработки книги.Открытие книги Excel, содержащей макросы (.xlsm) с использованием ADO и получение макросов для запуска

ответ

1

ADO осуществляет доступ только к данным, сохраненным в книге. Ничто vba (или любой другой) код не выполняет динамически при открытии книги в Excel. Макросы Excel могут выполняться только в том случае, если рабочая книга открыта в интерфейсе приложения.

Либо ваш процесс должен дублировать то, что делают макросы, чтобы обновить данные листа, либо, да, действительно, вам нужно сначала открыть книгу в среде Excel и выполнить макросы, а затем СОХРАНИТЬ изменения в книге.

+0

Cindy, Спасибо! Я подозревал, что это будет ответ, но мне нужно было это проверить. – Joe