我们的业务系统以XLSX文件格式保存报告,该格式是标准Excel。我有一个我编写的宏来处理这个报告,以便为我提供可用的数据。我不得不在XLSM文件中编写它,这是一个支持宏的Excel电子表格。有没有办法在原始文件上运行宏而无需复制和粘贴代码?我看过一些运行已经嵌入到电子表格中的宏的VBS脚本,但这有点不同。
答案 0 :(得分:1)
只需设置对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
答案 1 :(得分:1)
使用XLAM文件(Excel加载项格式),然后将其作为加载项添加到Excel,而不是使用XLSM文件。然后,代码可以在当时加载到内存中的任何电子表格上运行。
答案 2 :(得分:1)
我迟到了,但您也可以将宏和 VBA 脚本存储在个人宏工作簿 (PERSONAL.XLSB) 中,每次打开 excel 时,该工作簿都会作为隐藏工作簿打开。通过这种方式,您可以将宏/脚本保存在单独的个人文件中,但可以在 XLSX 文件中运行它。访问 HERE 了解更多信息。
答案 3 :(得分:0)
你可以这样做
Dim reportWb = Workbooks.Open('workBookPath')
Dim reportSheet = reportWb.Sheets(SheetNr or SheetName)
然后你可以做你的宏