.protect останавливает соединения (1). Обновить перед завершением

Мой последний вопрос был отмечен как дубликат этого. Я полностью согласен с этим. Поэтому я пришел сюда, чтобы взглянуть на ответы и прочитать пост Эрика (очень интересно). Вы не можете обеспечить это во время компиляции с помощью системы типов, но вы можете сделать это во время выполнения. Способ, которым я это реализовал, это:

abstract class FooBase
{
    protected FooBase()
    {
        if (typeof(T) != GetType())
        {
            throw new InvalidOperationException();
        }
    }
}

Посредством этого мы можем посадить семя злой собаки, но эта собака будет прервана во время выполнения.

0
задан Pᴇʜ 18 January 2019 в 09:14
поделиться

1 ответ

Защитите свой рабочий лист, используя параметр UserInterFaceOnly:=True, чтобы защита влияла только на пользовательский интерфейс, но не на любой код VBA. Это означает, что VBA может редактировать защищенные таблицы, а пользователь - нет.

Затем вы можете запустить .Refresh с VBA даже на защищенном листе .

.Protect Password:="passw", UserInterFaceOnly:=True

Может потребоваться защита рабочего листа при (повторном) открытии рабочей книги (например, событие Workbook_Open()). См. VBA Excel: защита листа: UserInterFaceOnly ушел

0
ответ дан Pᴇʜ 18 January 2019 в 09:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: