> Евгений Елпанов
У нас с Вами разный взгляд на библиотечные функции...
Во первых библиотечные функции должны быть очень надежны. И я думаю, в этом со мной согласятся многие. Но для того чтобы они не давали сбой необходимо проверка аргументов, условий и т.д. В этом случае встает вопрос о котором я писал выше. Для себя я решил однозначно - проверка в самой функции + конвертирование однотипных аргументов к необходимому виду, для её универсальности и разумеется вывод сообщений если результат несоответствует ожиданиям. Практика показала, что даже "нормально" работающие программы начинают "ругаться" сообщениями в этом случае. А при необходимости сообщения можно и выключить, как это делается описано в общеизвестной книге.
Библиотечная функция может вызываться много раз в некоторых случаях даже сотни раз, естественно нерационально проверять условия или конвертировать аргументы в определенный тип каждый раз. Можно правда поступить иначе написать еще одну библиотечную функцию которая будет конвертировать и проверять. Но в этом случае можно утонуть в этой лавине функций их и так набегает до сотни и этому нет конца.
За предложение спасибо. У меня была функция выполняющая аналогичную операцию, написанная на AUTOLispe. Большая и громоздкая, но необходимая мне. К сожалению я не знаком с функциями с префиксом VBA-. Литературы (нормальной, имеется в виду учебников) на эту тему я не встречал, а с английским напряг...
В общем я взял за ядро вышеописанную функцию и оформил то, что мне нужно.
PS. Спасибо, если хватило терпения дочитать до конца. А несоответствие надо исправить. Один оператор IF не испортит красоту (действительно красивой) функции. Калькулятор не должен ломаться из-за того, что пользователь нажал не на ту кнопку!