在VBA(Visual Basic for Applications)中,尤其是当涉及到VBA在Microsoft Office应用程序(如Excel、Word等)中的使用时,我们经常需要引用和操作不同的模块、类模块以及工作簿中的代码。引用不同工作簿中的宏或代码通常需要遵循一定的语法规则。
引用其他工作簿中的宏或代码主要有以下几种方式:
如果你想要从当前工作簿中运行另一个工作簿中的宏,你可以使用Application.Run
方法。
Application.Run "'[工作簿名称.xlsx]模块名称!宏名称'"
这里的“!”是一个分隔符,用于分隔不同的部分。例如:
Application.Run "'C:\path\to\workbook.xlsx'!Module1.MyMacro"
如果你想要在打开某个特定的工作簿时自动运行另一个工作簿中的宏,你可以在该工作簿的ThisWorkbook
模块中编写Workbook_Open
事件,并在其中使用Application.Run
方法。
例如,在Workbook1.xlsx
的ThisWorkbook
模块中:
Private Sub Workbook_Open()
Application.Run "'C:\path\to\workbook2.xlsx'!Module1.MyMacro"
End Sub
如果你经常需要引用某个特定的工作簿中的宏,你可以考虑将该工作簿制作成一个Add-In,并在需要的时候加载该Add-In。这样,你就可以像引用内置函数或方法一样引用Add-In中的宏或代码。
Application.Run
方法可能会失败。领取专属 10元无门槛券
手把手带您无忧上云