Экспорт таблиц MS Access через VBA в электронную таблицу excel в том же каталоге

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

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

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

то, что я хочу сделать, это сделать кнопка в форме, которая автоматически экспортирует одну таблицу на один лист, а другую на другой лист, как в та же книга excel.

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

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

3 ответов


вы можете использовать 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

это выведет и Table1 и Table2 в то же самое Рабочая тетрадь.

HTH


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


для людей, которые находят это через поисковые системы, вам не нужен 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.