Активировать / деактивировать режим разработки при выборе рабочей таблицы

Действительно борется с этим. Я пытаюсь вытащить книгу из режима разработки, когда пользователь покидает конкретный лист. У меня есть co, который будет работать от кнопок, которые берут лист в и из режима дизайна.

Теперь я хочу запустить их на листе, активировать / деактивировать события. Рабочий лист активируется нормально и переходит в режим разработки.

Однако у VBA возникает проблема выхода из режима разработки из кода. Я что-то упускаю. Или есть совершенно другой способ приблизиться к этому.

Спасибо д

Sub testEnter() EnterExitDesignMode True End Sub Sub testExit() EnterExitDesignMode False End Sub Sub EnterExitDesignMode(bEnter As Boolean) Dim cbrs As CommandBars Const sMsoName As String = "DesignMode" Set cbrs = Application.CommandBars If Not cbrs Is Nothing Then If cbrs.GetEnabledMso(sMsoName) Then If bEnter <> cbrs.GetPressedMso(sMsoName) Then cbrs.ExecuteMso sMsoName Stop End If End If End If End Sub 

Просто играл, и вы могли попробовать это.

Когда вы выбираете лист, поместите имя листа в public var, а затем запустите application.ontime, чтобы проверять каждую секунду, отличается ли имя активного листа от этого var, если поэтому вызов ontime отключает режим разработки, если нет, тогда сохраняет режим разработки (ваш существующий код). Просто попробовал быструю демонстрацию в дизайне в VB IDE и In Design на ленте и, похоже, это сработает.

Приветствия.

Что-то вроде

 Sub EnterExitDesignMode(bEnter As Boolean) Dim cbrs As CommandBars Const sMsoName As String = "DesignMode" Application.OnTime Now + TimeSerial(0, 0, 1), "TIMER_TEST" Set cbrs = Application.CommandBars If Not cbrs Is Nothing Then If cbrs.GetEnabledMso(sMsoName) Then If bEnter <> cbrs.GetPressedMso(sMsoName) Then cbrs.ExecuteMso sMsoName Stop End If End If End If End Sub Public Sub TIMER_TEST() If ActiveSheet.Name = strSheetName Then EnterExitDesignMode True Else End If End Sub 

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

Не полностью протестирован, но должен помочь.

Благодарю.

Я думаю, что режим дизайна отключит макрос.

Interesting Posts

итерации через спички и замена для VBA RegEx

Как выбрать первую видимую строку после применения фильтра

Экспорт в Excel из GridView asp.net C # – компонент сервера

Excel не распознает мой xll-файл

Узнать первый месяц

находить одни и те же слова в разных ячейках

xpages: возможно ли экспортировать данные в динамическое (в зависимости от выбора пользователя)?

как остановить формулу ячейки, когда мы вводим данные в другую ячейку

Excel VBA – копирование строки таблицы в другой лист на основе критериев, получение ошибок

Excel Извлечение конкретных слов с 1 колонки на другую

Проблема с использованием библиотеки библиотек Python для добавления таблицы запросов в Excel

Стол автофильтра на основе критериев – количество цифр

чтение excel с c #, 5-й столбец пуст

Экспорт значений с разделителями-разделителями из PDF-файлов в Excel в виде значений с разделителями-табуляторами

Есть ли способ проверить, нуждается ли сводный кеш в обновлении?

Давайте будем гением компьютера.