从Access导出到Excel,将工作表添加到现有工作簿

时间:2019-07-01 20:26:00

标签: excel vba ms-access access-vba

我想自动化将数据从Access查询导出到Excel工作簿的过程。每个查询与一个批次相关。工作簿中的每个工作表都与一个批次相关。例如:名为Jun2019.xlsx的Excel工作簿,可能具有与名为batch1的工作表相关的batch1。然后将每个工作簿保存到不同的文件路径。

我正在寻找一些指导,无论是可以通过Access VBA完成还是需要一个单独的步骤来从Access中导出xlsx并在Excel中运行过程?

1 个答案:

答案 0 :(得分:0)

在Access VBA中工作,代码应如下所示。

请注意,某些操作是由Apxl对象完成的,而其他一些操作则必须由该对象的Application属性完成的。我发现此问题对于通过MS Access执行的各种Excel操作至关重要。

首先创建一个Excel对象:

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

下一步如果Workbook(文件)已经存在,请打开它:

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

或创建一个新的:

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

现在,您可以通过其名称或序号(以1开头)来访问Worksheat对象:

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

如果工作表不存在,则可以创建一个新的工作表:

xlWorkbook.Worksheets.Add

新工作表将添加到集合的开始

您还可以重命名WorkSheet

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