Справка LibreOffice 25.2
Определяет сообщение об ошибке, отображаемое при вводе в ячейку недопустимых данных.
Также можно определить макрос, работающий с сообщением об ошибке. Пример такого макроса приведён в конце этой страницы.
Отображает сообщение об ошибке, выводимое в области Содержимое при вводе недействительных данных. Если эта функция включена, то сообщение позволяет предотвратить ввод недопустимой информации.
В обоих случаях, если выбрано «Остановить», введённые недопустимые данные удаляются и в ячейку вводится ранее содержавшееся в ней значение. То же самое происходит, если закрыть окно «Предупреждение» или «Информация» кнопкой Отмена. При закрытии диалогового окна кнопкой ОК неправильные данные не удаляются.
Выберите действие, которое должно выполняться при вводе неверных данных в ячейку. Действие «Остановить» отвергает недопустимые данные и выводит диалоговое окна, которое нужно закрыть кнопкой ОК. Действия «Предупреждение» и «Информация» приводят к выводу диалогового окна, которое можно закрыть кнопкой ОК или Отмена. Неверные данные отвергаются только при нажатии кнопки Отмена.
Открывает диалоговое окно Макрос, где можно выбрать макрос, который будет выполняться при вводе неверных данных в ячейку. Макрос выполняется после вывода сообщения об ошибке.
Введите заголовок макроса или сообщения об ошибке, которое будет выдаваться при вводе неверных данных в ячейку.
Выберите сообщение, которое должно отображаться при вводе неверных данных в ячейку.
Ниже показан пример функции, которую можно вызвать при возникновении ошибки. Обратите внимание, что макрос принимает два параметра, передаваемых от LibreOffice при вызове функции:
CellValue: Значение, вводимое пользователем в виде строки.
CellAddress: Адрес ячейки, в которую было введено значение, в виде строки с префиксом, содержащим имя листа (Например: «Лист1.A1»).
Функция должна возвращать логическое значение. Если она возвращает значение Истина, введённое значение сохраняется. Если же возвращается значение Ложь, то введённое значение удаляется с восстановлением предыдущего значения.
Function ExampleValidity(CellValue as String, CellAddress as String) as Boolean
Dim msg as String
Dim iAnswer as Integer
Dim MB_FLAGS as Integer
msg = "Недопустимое значение: " & "'" & CellValue & "'"
msg = msg & " в ячейке: " & "'" & CellAddress & "'"
msg = msg & Chr(10) & "Принять?"
MB_FLAGS = MB_YESNO + MB_ICONEXCLAMATION + MB_DEFBUTTON2
iAnswer = MsgBox (msg , MB_FLAGS, "Сообщение об ошибке")
ExampleValidity = (iAnswer = IDYES)
End Function