Действия при ошибке

Определяет сообщение об ошибке, отображаемое при вводе в ячейку недопустимых данных.

Также можно определить макрос, работающий с сообщением об ошибке. Пример такого макроса приведён в конце этой страницы.

Доступ к этой команде

From the menu bar:

Выберите вкладку Данные - Правка - Действия при ошибке.

From the tabbed interface:

На меню Данные вкладки Данные выберите вкладку Проверка - Действия при ошибке.


Показывать сообщение об ошибке при вводе недопустимых значений.

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

В обоих случаях, если выбрано «Остановить», введённые недопустимые данные удаляются и в ячейку вводится ранее содержавшееся в ней значение. То же самое происходит, если закрыть окно «Предупреждение» или «Информация» кнопкой Отмена. При закрытии диалогового окна кнопкой ОК неправильные данные не удаляются.

Содержимое

Действие

Выберите действие, которое должно выполняться при вводе неверных данных в ячейку. Действие «Остановить» отвергает недопустимые данные и выводит диалоговое окна, которое нужно закрыть кнопкой ОК. Действия «Предупреждение» и «Информация» приводят к выводу диалогового окна, которое можно закрыть кнопкой ОК или Отмена. Неверные данные отвергаются только при нажатии кнопки Отмена.

Обзор

Открывает диалоговое окно Макрос, где можно выбрать макрос, который будет выполняться при вводе неверных данных в ячейку. Макрос выполняется после вывода сообщения об ошибке.

Заголовок

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

Сообщение об ошибке

Выберите сообщение, которое должно отображаться при вводе неверных данных в ячейку.

Пример макроса:

Ниже показан пример функции, которую можно вызвать при возникновении ошибки. Обратите внимание, что макрос принимает два параметра, передаваемых от LibreOffice при вызове функции:

Функция должна возвращать логическое значение. Если она возвращает значение Истина, введённое значение сохраняется. Если же возвращается значение Ложь, то введённое значение удаляется с восстановлением предыдущего значения.


    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
  

Пожалуйста, поддержите нас!