在XLSX文件上运行Excel宏

时间:2017-07-11 15:46:15

标签: excel vba excel-vba

我们的业务系统以XLSX文件格式保存报告,该格式是标准Excel。我有一个我编写的宏来处理这个报告,以便为我提供可用的数据。我不得不在XLSM文件中编写它,这是一个支持宏的Excel电子表格。有没有办法在原始文件上运行宏而无需复制和粘贴代码?我看过一些运行已经嵌入到电子表格中的宏的VBS脚本,但这有点不同。

4 个答案:

答案 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)

然后你可以做你的宏