是否可以从Excel电子表格(VBA)中获取WinForms“按钮”?

时间:2010-07-06 17:00:38

标签: c# winforms excel vba

交易员很懒,他们不想将应用程序切换到按钮。当他们点击Excel中的按钮时,它应该与点击我的WinForms应用程序中的另一个按钮(弹出一个对话框)相同。可行?

2 个答案:

答案 0 :(得分:1)

您需要将您的功能放入[ComVisible(true)] DLL并在VBA中添加对它的引用。

或者,您可以在C#中编写Excel插件。

答案 1 :(得分:0)

  1. 使用您选择的进程间通信机制编写与WinForms应用程序通信的COM服务器
  2. 向表单添加Excel按钮
  3. 编写一些VBA来调用COM服务器
  4. 直接从WinForms应用程序公开COM对象会很好,您可以通过VBA GetObject函数调用它。但是,我看不到从.NET公开对象到COM运行对象表的明显方法。