开发从VBA调用的c#库



我在VBA中创建了一个函数,如下所示:

Sub TPS_Test()
Dim classLib As Object
' remember you must type the set... line in its entirity when incrimenting to new version.  Something about their compiling

Set classLib = New RoadTrip_v14_1_9.TripDoc
classLib.TPS_Test Excel.ActiveWorkbook, False

End Sub

并从VBA - tools - reference中添加c#库(首先将库编译为类型库)。

这是有效的,我可以将库附加到Excel.exe进程并以这种方式调试。

然而,对于每个代码更改,我需要重新编译,重新导入到VBA,并再次运行。

我的过程:

  1. 增加项目名称(Myproject_V1)
  2. 删除VBA中对旧库的引用
  3. 添加对新库的引用。
  4. 在VBA中修改类名(set classLib = new Myproject_v1)
  5. 将c#库附加到excel进程中。
  6. 重新运行VBA模块

有更好的方法吗?

感谢响应者。最好的方法是用c#生成单元测试,它将加载excel文件,然后在visual studio中对其运行c#代码。

第二件事,正如他们指出的,你可以重复使用相同的文件名,只要关闭excel,编译,打开excel。

最新更新