Определение фактических аргументов, с которыми был вызван Excel UDF - PullRequest
1 голос
/ 30 марта 2010

Я добавляю пользовательскую функцию в Excel с сигнатурой на основе varargs в C ++:

LPXLOPER MyFunction(...);

Когда Excel вызывает MyFunction, он передает ему 30 аргументов независимо от того, сколько пользователь ввел в лист. Посторонние - пустые строки.

MyFunction, однако, предназначен для приема пустых строковых аргументов. В результате я не могу отличить допустимые пустые строки от посторонних, отправленных Excel.

Решением может быть получение содержимого фактической ячейки, в которую пользователь ввел функцию. Однако я не могу найти способ сделать это в рамках реализации моей функции.

Может кто-нибудь, пожалуйста, предложить выход?

1 Ответ

0 голосов
/ 30 марта 2010

Я нашел простой способ завладеть ячейкой вызывающего абонента.

Использование excelApp->get_Caller();

...