Получите доступ к возвращаемому значению диалога УДАЛИТЬ (Рабочий лист) - PullRequest
0 голосов
/ 26 февраля 2020

MSDN сообщает, что метод Delete на рабочем листе возвращает значение True или False в зависимости от того, как пользователь ответил на предупреждение о подтверждении. В моей версии 2013 Excel это не работает. Debug.Print Sheet1.Delete дает мне сообщение об ошибке синтаксиса, например «Ожидается функция».

Я не хочу подавлять предупреждение. Но если пользователь отменил удаление, я хотел бы знать об этом. На самом деле, MSDN описывает действие именно то, что мне нужно. Как это работает в версии Excel, которую я имею?

1 Ответ

0 голосов
/ 28 февраля 2020

Похоже, что ответ пользователя на вопрос диалогового окна Delete не доступен, как рекламируется. Поэтому я использовал логи c о том, что удаленный объект больше не должен существовать для получения той же самой Истинной / Ложной информации.

            WsLib.Delete
            On Error Resume Next
            Set Rng = WsLib.Cells(1, 1)
            If Err = 0 Then
                Debug.Print "WsLib wasn't deleted"
            End If
            Err.Clear

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

До этого я пытался вернуть выражение WsLib Is Nothing в значение False, если пользователь нажал Отмена в диалоговом окне предупреждения. К сожалению, это не сработало, потому что Is Nothing проверяет переменную, а не объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...