我有一个非托管的C#DLL,它被添加到Excel VBA代码中。
Private Declare Function DoSomething Lib "myc.dll" Alias "invokePath" (ByVal strRule As String)
现在从DLL中,我需要知道发出请求的excel文件的路径。
然后我需要从C#DLL中读取Excel工作簿中的单元格中的值。
答案 0 :(得分:0)
如果可能的话,我会将其作为COM加载项实现,而不是从VBA导入该函数。通过这种方式,您将可以访问Excel Application
实例,该实例将成为从电子表格中获取数据并与Excel交互的起点,而不仅仅是从函数返回值。
如果您将其称为用户定义函数(UDF),那么您还可以访问Application.Caller
属性,该属性将为您提供触发UDF评估的单元格的引用。