Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 19.01.2016
Сообщений: 149

Деактивация или удаление пунктов меню листа

26.05.2018, 14:12. Показов 1275. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Подскажите, пожалуйста, как сделать не активным "удалить" во время вызова меню листа. Ну либо скрыть этот пункт меню.

Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2018, 14:12
Ответы с готовыми решениями:

Удаление пунктов меню в Exel средствами VBA
Добрый день. Необходимо написать программу: "Создать программным путем пользовательскую панель инструментов (имя панели задать...

Задизабливание отдельных пунктов меню
Это делать я не научился:( Но зато у меня получилось полностью убить системное меню(там где Файл Правка Вид и т.д) Но мне надо...

Добавление, удаление пунктов главного меню
Создайте новый проект. В главную форму включите следующие компоненты: Главное меню, многострочный редактор. В главном меню создайте...

9
Заблокирован
26.05.2018, 15:22
Пробуйте, у меня в 2007-м сработало:
Visual Basic
1
Application.CommandBars("Ply").Controls(2).Enabled = 0
0
0 / 0 / 1
Регистрация: 19.01.2016
Сообщений: 149
26.05.2018, 19:51  [ТС]
Цитата Сообщение от Остап Бонд Посмотреть сообщение
Пробуйте, у меня в 2007-м сработало:
В 2010 не работает.
Visual Basic
1
2
3
Private Sub Worksheet_Activate()
    Application.CommandBars("Ply").Controls(3).Enabled = 0
End Sub
А нет какого-то универсального способа?
0
0 / 0 / 1
Регистрация: 19.01.2016
Сообщений: 149
26.05.2018, 20:01  [ТС]
Как видите "Удалить" активно
Миниатюры
Деактивация или удаление пунктов меню листа  
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
26.05.2018, 20:17
vdekameron111, Универсального не может быть в принципе
т.к. что придёт в голову разработчикам следующих версий, никому не известно.
А вариант, представленный Остап Бонд будет работать в 97-2007

Впрочем, Вы можете попытаться заблокировать вызов стандартного контекстного меню

Visual Basic
1
Application.CommandBars("Ply").Enabled = False 'True
0
0 / 0 / 1
Регистрация: 19.01.2016
Сообщений: 149
26.05.2018, 20:38  [ТС]
Цитата Сообщение от pashulka Посмотреть сообщение
Впрочем, Вы можете попытаться заблокировать вызов стандартного контекстного меню
Это конечно вариант. Но мне нужно сделать так, чтобы определенный лист нельзя было удалить. Получается что даже если я скрою в меню "удалить" то его все равно можно будет удалить в меню наверху(((

Добавлено через 43 секунды
Неужели в VBA нет способа запретить удалить листь.
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
26.05.2018, 20:45
Если защитить структуру книги, то пользователь не сможет не только удалять листы, но и перемещать, переименовывать, скрывать и даже вставлять(добавлять) новые
0
0 / 0 / 1
Регистрация: 19.01.2016
Сообщений: 149
26.05.2018, 20:54  [ТС]
Цитата Сообщение от pashulka Посмотреть сообщение
Если защитить структуру книги, то пользователь не сможет не только удалять листы, но и перемещать, переименовывать, скрывать и даже вставлять(добавлять) новые
Я это знаю. Но мне нужно именно определенный запретить удалять. При этом должна быть возможность удалять и добавлять другие листы.
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
27.05.2018, 11:08
Вы можете удалить вкладку Ячейки, где в т.ч. находится команда Удалить лист.
Правда её(вкладку) можно вернуть обратно, да и ради одной команды, жертвовать целой вкладкой, как-то …

P.S. Не нужно бессмысленного оверквотинга.
0
0 / 0 / 1
Регистрация: 19.01.2016
Сообщений: 149
27.05.2018, 11:36  [ТС]
Короче ясно. Нужно станцевать буги вуги с бубнами верх ногами. Я думал в vba есть какое-то готовое событие перед удалением листа, которое просто можно отменить.

Добавлено через 5 минут
А нельзя отменить удаление в worksheet_beforedelete?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2018, 11:36
Помогаю со студенческими работами здесь

удаление/добавление пунктов меню в админке
Доброго времени суток. Мне нужно добавить возможность удаления, добавления пунктов меню на моем сайте http://studio.ts6.ru/. Php изучаю...

Создание и удаление пунктов меню динамически
Создание и удаление пунктов в MainMenu не через дизайнер RAD Studio А кодовым вариантом P.S Чтобы потом они сами создавались и...

Создайте меню программы, состоящее из трех пунктов: удаление данных, добавление данных, просмотр данных
Создайте меню программы, состоящее из трех пунктов: удаление данных, добавление данных, просмотр данных. Программируйте запись текста в...

Удаление webssearches, самопроизвольная деактивация окон, самопроизвольное отключение интернета
У меня такая проблема. Сначала Мозила подцепила какой-то mystartsearch - я поискала в интернете и нашла примерно как его удалить. Он вроде...

MainMenu: поменять цвет и ширину полосы меню и пунктов меню
По форуму конкретного решения не нашел. Не подскажите, возможно ли поменять цвет и ширину полосы меню и пунктов меню в приложении ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru