Добрый день! Есть задача, которая может быть решена пользовательской функцией на Basic в OOo Calc. По смыслу задачи на вход могут подаваться и пустые значения (логика их обработки описывается в функции). Однако, если в качестве аргумента (параметра) пользовательской функции Basic передаётся пустая ячейка, то OOo Calc подставляет значение 0 (ноль, типа Double).
В приложенном примере ячейка A3 пустая, а B3 в результате выполнения
функции, приведенной ниже, содержит "Double : 0."
Вот тестовая функция, демонстрирующая такое поведение Calc:
Function MyTest(Optional a as Variant) as String
If Not IsMissing(a) Then
MyTest = TypeName(a) & " : " & a
Else
MyTest = "Нет значения"
End If
End Function
Поиск у Питоньяка и в Google, а также вопрос на форуме i-rs.ru разумного
результата не дали. Есть у коллег какие-то решения? Обрабатывать ноль,
как пропущенное значение по условиям задачи нельзя: ноль является в
части случаев вполне допустимым входным параметром.
Кстати, обратите внимание, как обрабатывается дата; она тоже в функции
преобразуется к Double.
Пример в приложении.
--
С уважением,
Дмитрий
test.ods
Description: application/vnd.oasis.opendocument.spreadsheet
_______________________________________________ Oo-discuss mailing list [email protected] https://lists.openoffice.ru/mailman/listinfo/oo-discuss
