我将简单的VBA代码放在" F:\ Inetpub \ wwwroot \ webfolder \ testWB.xlsm"中。宏看起来像:
Sub TestProcedure()
MsgBox "Hello"
End Sub
如何通过C#ExcelPackage调用此过程?
我所拥有的只是:
FileInfo newFile = new FileInfo(@"F:\Inetpub\wwwroot\webfolder\testWB.xlsm");
ExcelPackage pck = new ExcelPackage(newFile);
但是我还没有找到任何地方,我怎么能通过c#代码调用我的vba程序。我需要使用ExcelPackage,因为Excel.Interop不能在我的IIS Windows服务器上运行。
非常感谢您的任何建议。
答案 0 :(得分:0)
你不能。当您告诉它使用"运行宏"时,Excel会调用此过程。或捷径。在EPPlus的上下文中,宏代码只是无意义的文本。
答案 1 :(得分:0)
具体答案:来自Epplus WIKI
EPPlus支持创建,读取和写入VBA。不支持VBA代码的执行/解释。
摘自here:
执行VBA代码VBE是必需的。 VBE随Excel一起安装。
所以答案是,如果没有安装Excel,就无法从C#运行VBA宏。您可以尝试以下解决方法: