Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2011, 18:00   #1
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
Радость Защита листа

Доброго времени суток, Ув. форумчане.
Есть небольшой вопрос:

Я использую код, для защиты листа:


Код:
 Private Sub Workbook_Open()
 
Const MyPassword = ""
Dim i%
For i = 1 To ThisWorkbook.Sheets.Count
With Sheets(i)
'.Unprotect Password:=MyPassword
        .Protect Password:=MyPassword, DrawingObjects:=True, Contents:=True, Scenarios:=True, _
            AllowFiltering:=True, UserInterfaceOnly:=True ', AllowFormattingCells:=True
            .EnableOutlining = True
  End With
Next
End Sub
В это код мне нужно добавить "изменение объектов". Макро редактор, не записал данную функцию. Если кто знает, подскажите пожалуйста.
И если у кого-то завалялись записи обозначения защиты листа (какая функция, за что отвечает), напишите плиз.
Спасибо!
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 30.09.2011, 18:50   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
DrawingObjects:=True
а это тогда что?
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 03.10.2011, 10:47   #3
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Посмотрите пример.
В таблице при включенной защите листа в таблице "2", не получаться растянуть ячейки. Если выключаю защиту, а затем включаю заново но в ручную ставлю галочку "изменение объекта", все начинает работать, хотя в в книге DrawingObjects:=True. Что не так работает?
Вложения
Тип файла: rar пример0001.rar (26.3 Кб, 9 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 03.10.2011, 11:13   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Причем объекты до ячеек... Сделайте так:
Код:
        .Protect Password:="", Contents:=True, Scenarios:=True, _
           AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowFiltering:=True, UserInterfaceOnly:=True ', AllowFormattingCells:=True
            .EnableOutlining = True
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 03.10.2011, 12:37   #5
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Причем объекты до ячеек... Сделайте так:
Код:
        .Protect Password:="", Contents:=True, Scenarios:=True, _
           AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowFiltering:=True, UserInterfaceOnly:=True ', AllowFormattingCells:=True
            .EnableOutlining = True
Если бы я знал в чем причина, я бы не задавал глупых вопросов. Посмотрите пример пожалуйста, я изменил свой код на ваш. Ячейку "D9", я так же растянуть не могу. А мне нужно при защите листая растягивать определенные не защищенные ячейки.
НО когда я снимаю защиту вручную и ставлю ее заново вручную, но ставлю галочку на "изменение объекта", все чудесно начинает работать!
Почему вручную когда делаешь эту операцию все работает, а макросом нет?
Вложения
Тип файла: rar пример0001.rar (26.4 Кб, 11 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 03.10.2011, 13:20   #6
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

нашел решение свой задачи.
Нужно было добавить
Код:
            '.EnableSelection = xlNoRestrictions 'При использовании этой команды пользователю доступны
                                                 'все ячейки при перемещении по листу, но ввести данные
                                                 'он может только в незащищенные ячейки.
            .EnableSelection = xlUnlockedCells   'При использовании этой команды пользователю
                                                 'недоступны защищенные ячейки не только при вводе данных,
                                                 'но и при перемещении по листу.
Но к сожалению, растягивает защищенные ячейки на незащищенные...
Это можно как не будь подправить?
Вложения
Тип файла: rar пример0001.rar (28.6 Кб, 5 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 03.10.2011, 14:10   #7
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Я выражение растянуть ячейку, понимаю как изменить ее размеры по высоте или ширине. А Вы что имеете ввиду?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 03.10.2011, 15:00   #8
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

1. Я понял почему не "растягивались" значения (нужно было увеличить высоту строк, т.к. значек выбора из списка мешал сделать выделение для "растягивания" ячеек (продолжение данных)
2. В правом-нижнем углу ячейки (при наведения мышью), появляется крестик, за который можно потянуть и значения ячейки продолжаться.
Короче я туплю малеха ((((
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
защита листа clown86 Microsoft Office Excel 12 26.11.2010 15:21
Защита листа Alekcey Microsoft Office Excel 3 10.11.2010 06:06
Защита листа и макросы Sensy Microsoft Office Excel 3 15.12.2009 05:28
Защита листа Mrs2 Microsoft Office Excel 2 05.11.2009 05:19
Защита листа! Marsik Microsoft Office Excel 2 27.03.2008 18:19