Экспорт из Access в Excel, добавление листа в существующую книгу - PullRequest
0 голосов
/ 01 июля 2019

Я хотел бы автоматизировать процесс экспорта данных из запроса Access в книгу Excel. Каждый запрос относится к партии. Каждый лист в книге относится к серии. Например: книга Excel под названием Jun2019.xlsx, может иметь batch1, относящийся к листу с именем batch1. Затем сохраните каждую книгу в отдельный путь к файлу.

Я ищу руководство, можно ли это сделать с помощью Access VBA или потребуется отдельный шаг для экспорта xlsx из доступа и запуска процедуры в Excel?

1 Ответ

0 голосов
/ 02 июля 2019

При работе с Access VBA ваш код должен выглядеть примерно так.

Обратите внимание, где некоторые действия выполняются объектом Apxl, тогда как другие должны выполняться свойством Application объекта.Я нашел эту проблему жизненно важной в различных действиях Excel, выполняемых из MS Access.

Сначала создайте объект Excel:

dim Apxl as Object, xlWorkbook as Object ,xlWorksheet as Object
Set Apxl = CreateObject("Excel.Application")

Далее Если Workbook (файл) уже существует, откройте его.it:

ApXl.Workbooks.Open("C\:MyPath\MyFileName.xlsx")

Или создайте новый:

Set xlWorkbook = Apxl.Application.WorkBooks.Add 
xlWorkbook.SaveAs "C\:MyPath\MyFileName.xlsx"

Теперь вы можете подойти к объекту Worksheat по его имени или порядковому номеру (начиная с 1):

Set xlWorksheet = xlWorkbook.Worksheets("MySheetName")
Set xlWorksheet = xlWorkbook.Worksheets(1)

Если лист не существует, вы можете создать новый:

xlWorkbook.Worksheets.Add

Новый лист будет добавлен в начало коллекции.

Вы также можете переименовать WorkSheet:

Set xlWorksheet = xlWorkbook.Worksheets(1)
xlWorksheet.Name = "MyNewName"
...