c# - C# 代码中的 Excel 引用问题

标签 c# excel office-interop excel-interop vba

我有一个电子表格,它在 Excel 中使用 WORKDAY() 函数(我相信它存在于分析工具库/包/无论您在 Excel 中如何调用它)。当我手动打开此电子表格并调用此函数时,它表现良好。

我有一个引用 WORKDAY() 函数所用单元格的宏:

Dim startDate as Date
startDate = Cells(1,1)

当我手动打开电子表格后运行宏时,此代码执行正常。问题是当我尝试打开电子表格并从 C# 代码运行宏时。当它尝试获取 startDate 的值时将会失败。当我查看该单元格时,我看到一个#VALUE!引用错误。当我从 C# 代码打开电子表格时,它似乎没有加载正确的引用。

有谁知道如何解决这个问题吗?

最佳答案

我要做的是使用以下命令强制加载 .xla 加载项:

app.Workbooks.Open(file_name)

其中 appMicrosoft.Office.Interop.Excel.Application 的实例 如果它已经打开,那么什么也不会发生,否则它会加载分析插件。要查找加载项的路径,取决于 Office 的版本

  • Office 11:C:\Program Files\Microsoft Office\OFFICE11\Library\Analysis\ANALYS32.XLL
  • Office 12:C:\Program Files (x86)\Microsoft Office\Office12\Library\Analysis\ANALYS32.XLL

关于c# - C# 代码中的 Excel 引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432118/

相关文章:

c# - 如何使用 WinApi 随心所欲地 move 窗口

c# - 结束日期应比开始日期晚五天

c# - Assembly.GetType 显式接口(interface)实现上的 TypeLoadException

sql - VBA 多 SQL 查询到 Excel

c# - 如何从 C# 连接到正在运行的 outlook 实例

c# - foreach 中的 System.OutOfMemoryException 循环遍历 worsheet 行

c# - 寻找 .net winform 的月/年选择器控件

excel - UIPath:将抓取的信息导出到电子表格

Excel VBA : Missing Project or Library on Chr?

c# - Microsoft.Office.Interop.Excel.dll - 服务器未安装 Excel