在Excel中使用VSTO,是否可以直接将Excel公式应用于Range对象?

假设我的工作表中有单元格A1:A10的Range对象。 这些单元格都包含不同长度的string,我想知道最长的string的长度。

在Excel中,我可以使用像{=MAX(LEN(A1:A10))}这样的数组公式来find这个值。 我想我可以在工作表中设置一些其他单元格来使用这个公式并检索值,但我宁愿不改变工作表。

有什么方法可以直接在代码中应用这个公式(或任何公式)到Range对象并检索结果?

或者,有没有其他简单的方法来find这个值,而不改变工作表的内容,也没有循环范围内的每个单元格?

你可以使用Application.Evaluate函数,例如在VB.Net中:

 MessageBox.Show(Application.Evaluate("=MAX(LEN(A1:A10))"))