Excelmacros存储在Access中

所以我每天都要将数据导入Access以用于报告。 数据来自不同个人创build的电子表格。 由于这些人喜欢格式化的东西不正确,我创build了一个macros,重新格式化他们的文档,以便它可以干净地导入到Access中供我使用。 很好的工作,但是却不得不打开每个Excel工作表才能运行这个macros。

我想要做的是将Excelmacros放入Access,然后运行格式化代码,然后一次导入全部。 我在接近这个方面有点失落。 我知道如何运行已放置在Excel工作表中的macros,但有没有办法运行存储在Excel中的macros,在Excel中工作。 我也想过,也许注入到Excel文件的macros,然后运行它。

总结一下,我希望做的是从Access存储一个macros,可以用来改变Excel文件。

这是可能吗? 如果是的话如何? 还有另一种方法吗?

你要做的是从Access中自动化Excel。 是的,你可以做到这一点。 在Access中,添加一个模块,添加对Microsoft Excel对象模型(工具:引用)的引用,并使用以下框架代码来启动:

Sub PrepExcelFileForImport() Dim xl As Excel.Application Dim wbk As Excel.Workbook Dim wst As Excel.Worksheet Set xl = CreateObject("Excel.Application") With xl .Visible = True Set wbk = .Workbooks.Open("c:\temp\temp.xlsx") Set wst = wbk.Worksheets("data") With wst ' add your formatting code here, be sure to use qualified references, eg .Rows(1).Font.Bold = True End With End With wbk.Close SaveChanges:=True xl.Quit End Sub