При работе с 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"