是否有可能从Excel电子表格(VBA)打WinForms“button”?

交易者很懒,他们不想把应用程序切换到命中button。 当他们点击Excel中的button时,它应该与我的WinForms应用程序中的另一个button(popup一个对话框)相同。 可行?

是。

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

或者,你可以在C#中编写一个Excel插件。

  1. 编写一个COM服务器,使用您select的进程间通信机制与WinForms应用进行通信
  2. 将Excelbutton添加到工作表
  3. 写一些VBA来调用COM服务器

直接从WinForms应用程序暴露一个COM对象将是一件好事,您可以通过VBA GetObject函数调用它。 但是,我不能看到一个明显的方式来暴露一个对象从.NET运行对象表的COM。