Экспорт таблиц MS Access через VBA в электронную таблицу Excel в том же каталоге - PullRequest
20 голосов
/ 04 декабря 2009

У меня есть две таблицы в моей базе данных доступа, которые я хочу иметь возможность экспортировать в Excel .

Я могу сделать это, открыв таблицу и затем выполнив Файл-> Экспорт ..., а затем выбрав формат и введя имя файла.

Однако, таким образом, пользователь фактически должен ввести имя, чтобы было место для неправильного именования файла или для сохранения его в неправильном формате или в неправильном месте. Кроме того, две таблицы должны быть экспортированы в две отдельные книги.

То, что я хочу сделать, - это создать на форме кнопку , которая автоматически экспортирует одну таблицу в одну рабочую таблицу, а другую - в другую , и в одну и ту же рабочую книгу Excel * 1012. *.

Если поместить их в одну книгу невозможно, это нормально. Я просто хочу, чтобы они автоматически экспортировались в тот же каталог, в котором сохранена моя база данных доступа.

Если вы знаете, как это сделать, добавьте перк, чтобы настроить имя, включив в него дату. Таким образом, каталог также будет иметь исторический экспорт. Любой совет?

Ответы [ 3 ]

37 голосов
/ 05 декабря 2009

Вы можете использовать VBA для экспорта таблицы базы данных Access в виде рабочего листа в книгу Excel.

Чтобы получить путь к базе данных Access, используйте свойство CurrentProject.Path.

Чтобы присвоить файлу книги Excel текущую дату, используйте метод Format(Date, "yyyyMMdd").

Наконец, чтобы экспортировать таблицу в виде рабочего листа, используйте метод DoCmd.TransferSpreadsheet.

Пример:

Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True

Это выведет и Таблицу 1 и Таблицу 2 в одну и ту же книгу.

НТН

7 голосов
/ 05 декабря 2009

Лоуренс дал вам хороший ответ. Но если вам нужен больший контроль над тем, что экспортируется в Excel, см. Модули: образец автоматизации Excel - медленная ячейка за ячейкой и Модули: перенос записей в Excel с помощью автоматизации делать такие вещи, как экспорт набора записей, начиная со строки 2, и вставлять пользовательский текст в строку 1. Как и любое другое требуемое форматирование.

0 голосов
/ 23 июля 2015

Для людей, которые находят это через поисковые системы, вам не нужен VBA. Вы можете просто:

1.) select the query or table with your mouse
2.) click export data from the ribbon
3.) click excel from the export subgroup
4.) follow the wizard to select the output file and location.
...