Доброго всем времени суток, подскажите пожалуйста, как запретить изменение названий листов в книге, не защищая книгу. Листы в книге защищены, в VBA виден пароль.
Запретить переименовывание листов
16.01.2009 11:15:11
|
|
|
|
16.01.2009 12:24:28
Что-то rar не открывается попробую в zipe прикрепить
|
|
|
|
16.01.2009 12:50:54
предлагаю изменить и кодовые имена листов(приравнять их пользовательским)
а потом при любом действии проверять не изменились ли, если надо, переименовывать.
Живи и дай жить..
|
|
|
|
16.01.2009 13:31:20
Никакого не возникает. См. файл
|
|
|
|
16.01.2009 14:09:21
Значит не судьба.
Bite my shiny metal ass!
|
|
|
|
16.01.2009 15:44:16
да при всех событиях :) можно только не совсеми листами, а с активным или , если это в макросе, то тех листов, кот этот макрос касается
Живи и дай жить..
|
|
|
|
16.01.2009 17:50:09
См. файл
|
|
|
|
16.01.2009 18:45:39
Вам остаётся лишь один раз как надо переименовать кодовые имена листов в редакторе VBE и всё, макрос всё остальное сделает за вас.
|
|
|
|
29.08.2010 14:23:31
Добрый день!
Как макросом дать Кодовое имя определенному листу? Не могу найти синтаксис вроде ActiveSheet.CodeName="Лист20"
With my best regards, Inter_E
|
|
|
|
29.08.2010 14:45:58
Думаю, только руками. Т.к. свойство CodeName только для чтения (Read-only), а не для чтения и установки.
|
|
|
|
29.08.2010 14:46:28
А никак. Read only property. Экс сам присваивает Codename.
Я сам - дурнее всякого примера! ...
|
|
|
|
29.08.2010 14:49:27
Ну, что же вы так сразу "никак" - руками! Alt+F11, Ctrl+R и вперёд
|
|
|
|
29.08.2010 14:56:29
М-да... Век живи...
Я сам - дурнее всякого примера! ...
|
|
|
|
30.08.2010 16:34:30
Кстати, только что случайно набрёл, не проверял:
Несмотря на то, что свойство CodeName доступно только для чтения, программное имя рабочего листа можно изменять, если не забывать, что модуль входит в семейство VBComponents. iCodeName = ActiveSheet.CodeName Application.VBE.ActiveVBProject.VBComponents(iCodeName).Name = "CodeName" ' Вариант I. ActiveWorkbook.VBProject.VBComponents(iCodeName).Name = "CodeName" ' Вариант II. |
|
|
|
30.08.2010 16:36:47
Проверил Вариант1 - работает!
|
||||
|
|
|||
Читают тему