gpt4 book ai didi

excel - 从 Visual Studio 调用 excel 工作簿中的 VBA 宏

转载 作者:行者123 更新时间:2023-12-04 20:30:07 25 4
gpt4 key购买 nike

我有一个在单击按钮时运行一些 VBA 代码的 Excel 工作簿。我要调用的函数如下所示。我想使用 VB 从 Visual Studio 调用该函数。有没有办法制作工作簿的实例并调用函数? (该功能需要 Excel 加载项,这就是我需要工作簿的原因。)在此先感谢各位。

Private Sub CommandButton2_Offline_Click()

最佳答案

想要调用 Click事件处理程序意味着一件事:您正在查看在事件处理程序本身中实现的宏。

把它移出去。处理程序由它们的事件源调用; “手动”调用它们是一种糟糕的做法;你不想那样做。更不用说处理程序只能存在于类模块中,这意味着您需要获取该类的对象实例才能定位其公共(public)成员 - 它的私有(private)成员将更加复杂。如果你很幸运,这个类是一个工作表模块,那么你就可以免费获得一个工作簿范围的实例。

无论如何,您要做的最后一件事是“只创建处理程序 Public”并直接调用它。改为重构:

Private Sub CommandButton2_Offline_Click()
GoOffline
End Sub

理想情况下,您应该将该方法放在标准模块中:
Public Sub GoOffline()
'...
' all the code that's currently in CommandButton2_Offline_Click
'...
End Sub

这样,您需要做的就是调用 Application.Run"ModuleName.GoOffline"作为参数,来自您的 .NET 代码。

至于制作工作簿的实例,有一个工厂方法: Workbooks.Open - 您的 .NET 代码需要有 Excel.Application使用的实例。

关于excel - 从 Visual Studio 调用 excel 工作簿中的 VBA 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52297587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com