Vba 在XLSX文件上运行Excel宏

Vba 在XLSX文件上运行Excel宏,vba,excel,Vba,Excel,我们的业务系统以标准Excel的XLSX文件格式保存报告。我编写了一个宏来处理此报告,以提供可用的数据。我必须把它写在一个XLSM文件中,这是一个支持宏的excel电子表格。有没有一种方法可以在原始文件上运行宏,而不必复制和粘贴代码?我见过一些VBS脚本,它们运行已经嵌入到电子表格中的宏,但这有点不同。只需设置对XLSX文件的引用: Sub Test() Dim OtherWorkbook As Workbook 'Otherworkbook should be closed

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

只需设置对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

只需设置对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)

然后你可以做你的宏你可以这样做

Dim reportWb = Workbooks.Open('workBookPath')

Dim reportSheet = reportWb.Sheets(SheetNr or SheetName)

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

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

我迟到了,但您也可以将宏和VBA脚本存储在个人宏工作簿personal.XLSB中,该工作簿将在每次打开excel时作为隐藏工作簿打开。通过这种方式,您可以将宏/脚本保存在单独的个人文件中,但可以在XLSX文件中运行。有关详细信息,请访问。

我迟到了,但您也可以将宏和VBA脚本存储在个人宏工作簿personal.XLSB中,该工作簿将在每次打开excel时作为隐藏工作簿打开。通过这种方式,您可以将宏/脚本保存在单独的个人文件中,但可以在XLSX文件中运行。有关详细信息,请访问。

您可以从宏所在的其他工作表或工作簿中访问报告工作表,也可以使用Excel Interop在VB.Net中编写sth,它可以读取您的报告并在报告上运行宏。我会给你写一些例子,你可以从宏所在的另一个工作表或工作簿中访问报告工作表,或者你可以使用Excel Interop在VB.Net中编写一些东西,它读取你的报告并在上面运行宏。我会给你写一些例子,我不得不使用这个指南来帮助我制作插件,但它工作得很好。谢谢我不得不使用本指南来帮助我制作外接程序,但它非常有效。谢谢