【发布时间】:2013-05-22 10:13:32
【问题描述】:
我正在编写一个生成 Excel 文件的 VB.NET 应用程序。
我的目的是编写一个在单元格中使用CONCATENATE 的特定公式。
现在,以下代码行触发上述异常:
0) tSheet.Cells(tIncRow + ItemIndex * PixelIndex + PixelIndex, 2).Formula =
"=CONCATENATE(" & Pixels(PixelIndex) & ";Batches!J3)"
下一行不会引发异常。 (它只是上面的行,开头没有=。它没有引发异常的事实意味着索引被正确使用;我将在以下段落中删除它们以简化符号)。另外,如果我在 Excel 中手动将 = 放在同一个公式前面,那么该公式会给出正确的结果(它正确地抓取了 Batches!J3)
1) tSheet.Cells(tIncRow + ItemIndex * PixelIndex + PixelIndex, 2).Formula =
"CONCATENATE(" & Pixels(PixelIndex) & ";Batches!J3)"
以下行也可以正常运行:
2) tSheet.Cells(indexes).Formula = "=CONCATENATE(" & Pixels(PixelIndex) & ")"
这条线也可以:
3) tSheet.Cells(indexes).Formula = "=CONCATENATE(Batches!J3)"
似乎只有 2) 和 3) 的组合会引发异常。
我使用的是 Visual Studio 2012、Excel 2007,并且包含 Microsoft Excel 12.0 对象库
感谢您的帮助!
【问题讨论】:
-
Pixels(PixelIndex)的值是多少?此错误代码非常笼统,可能意味着从错误编写的公式到缺少名称、混合 R1C1 和 A1 样式等。 -
另外,您在 Excel 中使用的是什么语言?您是否使用逗号 (
,) (如英国英语版)或分号(;)(如欧洲版)分隔参数。
标签: vb.net excel exception concatenation excel-interop