开发从 VBA 调用的 C# 库

问题描述 投票:0回答:1

我在 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 - 工具 - 参考添加 C# 库(首先将库编译为类型库)。

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

但是,对于每次代码更改,我都需要重新编译、重新导入到 VBA 中,然后再次运行。

我的过程:

  1. 增加项目名称(Myproject_V1)。
  2. 编译
  3. 在 VBA 中删除对旧库的引用
  4. 添加对新库的引用。
  5. 更改 VBA 中的类名称(设置 classLib = new Myproject_v1)
  6. 将 C# 库附加到 Excel 进程。
  7. 重新运行 VBA 模块。

有更好的方法吗?

c# vba office-interop
1个回答
0
投票

感谢回复者。执行此操作的最佳方法是在 C# 中生成单元测试,该测试将加载 excel 文件,然后在 Visual Studio 中对其运行 C# 代码。

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

© www.soinside.com 2019 - 2024. All rights reserved.