在XLSX文件上运行Excelmacros

我们的业务系统以XLSX文件格式(标准Excel)保存报告。 我有一个我编写的macros来处理这个报告给我可用的数据。 我不得不把它写在一个XLSM文件,这是一个macros启用Excel电子表格。 有没有办法可以在原始文件上运行macros,而无需复制和粘贴代码? 我已经看到一些运行已经embedded到电子表格中的macros的VBS脚本,但是这有些不同。

使用XLAM文件(Excel加载项格式),然后将其作为加载项添加到Excel中,而不是使用XLSM文件。 然后代码可以在任何加载到内存中的电子表格上运行。

只需设置对XLSX文件的引用:

Sub Test() Dim OtherWorkbook As Workbook 'Otherworkbook should be closed at start of code. 'We open it here. Set OtherWorkbook = Workbooks.Open("full path to other workbook") With OtherWorkbook .Worksheets("Sheet1").Range("A1") = "I've just updated the other workbook." .Save .Close End With End Sub 

你可以这样做

 Dim reportWb = Workbooks.Open('workBookPath') Dim reportSheet = reportWb.Sheets(SheetNr or SheetName) 

那么你可以做你的macros