Содержимое

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

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

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

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

#### From the menu bar:

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

#### From the tabbed interface:

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

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

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

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

## Содержимое

### Действие

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

### Обзор

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

### Заголовок

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

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

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

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

Ниже показан пример функции, которую можно вызвать при возникновении ошибки. Обратите внимание, что макрос принимает два параметра, передаваемых от 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

См. также

Проверка