range.Formula抛出极长公式的COMException

时间:2011-12-02 15:49:19

标签: excel formula comexception

所以这是你如何重现这个问题:

  

1)打开两个工作簿(称为wb1和wb2)

     

2)在wb1中创建一个引用另一个中的单元格的公式,并确保在达到最大字符限制之前尽可能多地插入单元格引用(即你可以做到“= sum([wb2] .XLSX] Sheet 1中!A1,...,...,[wb2.xlsx] Sheet 1中!A1)“

     

3)关闭wb2,所以现在它的路径被附加到wb1公式。然而,由于我们已经达到极限,它会使公式更加突出。

现在,如果我尝试访问单元格的公式属性,则会抛出一个COMException。这有什么解决方法吗?

1 个答案:

答案 0 :(得分:0)

当您关闭wb2时,Excel可能更改工作簿的完整Windows路径的路径(即C:/Documents and settings...)。我要说你必须改变你的公式,使其达不到字符限制。

解决方法是使用中间公式,非常脏(但有效)的是在wb1中有一个与wb2相关的表(简单到[wb2.xlsx]Sheet1!A1),然后参考在你的公式中,这些单元格(它们将在同一个工作簿中)。

它很脏但可以工作。我希望自己足够清楚。