我想自动化将数据从Access查询导出到Excel工作簿的过程。每个查询与一个批次相关。工作簿中的每个工作表都与一个批次相关。例如:名为Jun2019.xlsx的Excel工作簿,可能具有与名为batch1的工作表相关的batch1。然后将每个工作簿保存到不同的文件路径。
我正在寻找一些指导,无论是可以通过Access VBA完成还是需要一个单独的步骤来从Access中导出xlsx并在Excel中运行过程?
答案 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"