Используя VSTO с Excel, возможно ли применить формулу Excel непосредственно к объекту Range? - PullRequest
0 голосов
/ 20 февраля 2012

Скажем, у меня есть объект Range для ячеек A1:A10 в моей рабочей таблице.Все эти ячейки содержат строки различной длины, и я хотел бы знать длину самой длинной строки.

В Excel я мог бы использовать формулу массива, такую ​​как {=MAX(LEN(A1:A10))}, чтобы найти это значение.Я думаю, что я мог бы установить какую-то другую ячейку на листе, чтобы использовать эту формулу и получить значение, но я бы не хотел изменять лист.

Есть ли какой-нибудь способ, которым я могу применить эту формулу (или любую формулу, на самом деле) к объекту Range непосредственно в коде и получить результат?

В качестве альтернативы, есть ли какой-нибудь другой простой способ найти это значение без изменения содержимого листа и без циклического прохождения каждой ячейки в диапазоне?

1 Ответ

2 голосов
/ 20 февраля 2012

Вы можете использовать функцию Application.Evaluate, например, в VB.Net:

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