Не сохраняется свойство EnableSelection, что делать?

Программирование на Visual Basic for Applications
AHTOXA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 147
Зарегистрирован: 17.04.2003 (Чт) 13:38
Откуда: Россия, г. Петрозаводск

Не сохраняется свойство EnableSelection, что делать?

Сообщение AHTOXA » 21.05.2005 (Сб) 12:17

ActiveSheet.Protect Password:="123", UserInterfaceOnly:=True
ActiveSheet.EnableSelection = xlUnlockedCells

После сохранения и отрытия заново документа, свойство
ActiveSheet.EnableSelection выставляется в значение xlNoRestrictions.
Как сделать, чтобы сохранялось предыдущее введенное значение???
Bandit

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.05.2005 (Сб) 14:24

Ставить его в workbook_open...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

AHTOXA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 147
Зарегистрирован: 17.04.2003 (Чт) 13:38
Откуда: Россия, г. Петрозаводск

Сообщение AHTOXA » 21.05.2005 (Сб) 14:29

Отличное решение :shock: :shock: :shock:
А если мне это свойство нужно сохранять только для определенных страниц, а для других не надо?
Почему если вручную выставить данное свойство (через Сервис->Защита) оно сохраняется, а так нет?
Неужели нет никакого другого способа?
Bandit

Belkin
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 02.11.2007 (Пт) 18:02
Откуда: Рязань

Сообщение Belkin » 28.06.2008 (Сб) 16:33

Народ!
Тоже столкнулся с такой же проблемой.
Может кто-то подскажет как ее решить и можно ли вообще??? Или это глюк Excel???
Я в одной книге пишу макрос который в итоге защищает другИЕ книги. Соответственно в тех книгах не должно быть макросов.
А если делать защиту ручками (ТАК РАБОТАЕТ и после сохранения и закрытия), то это проблематично, и файлов ни один..., да там марос еще ряд действий с ячейками делает.

HELP ME!!! :!:

Заранее благодарен.
Андрей.

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 29.06.2008 (Вс) 13:54

1) Насколько мне известно (и тесты это подтверждают), в англ. версиях Excel 2002(XP) и 2003 значение .EnableSelection прекрасно сохраняется. Однако в версиях более ранних (Excel 2000 и ранее), по дизайну, оно не сохранялось и, соответственно, лист, защищенный таким образом в Excel 2003, в Excel 2000 или 97 откроется незащищенным.

Вот код, который я использовал (единственное, что не сохраняется, так это параметр UserInterfaceOnly, но это по дизайну):
Код: Выделить всё
Sub test()
    Dim wb As Workbook
    Set wb = Workbooks.Add
    With wb
        With .Worksheets(1)
            .Protect Password:="123", UserInterfaceOnly:=True
            .EnableSelection = xlUnlockedCells
        End With
        .SaveAs "C:\Users\User1\Desktop\test.xls"
        .Close
    End With
End Sub

2) Если же проблема возникает в версиях Excel 2002+, то возможно надо искать причину где-то в самом коде макроса(ов). Возможно есть процедура, отменяющая нужную установку, или возникает другая ошибка.

3) Если исключены пункты 1) и 2), то возможно нужно установить все обновления для Excel, т.к. баги особенно распространены в локализованных версиях.
Привет,
KL

Belkin
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 02.11.2007 (Пт) 18:02
Откуда: Рязань

Сообщение Belkin » 01.07.2008 (Вт) 16:47

KL
У меня Excel 2003 и твой код также как и мой отрабатывает нормально, но после закрытия книги и повторном ее открытии защищенные ячейки снова можно выделять.
Вобщем засада.
Что подскажите?
Андрей.

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 01.07.2008 (Вт) 18:24

Belkin писал(а):KL
У меня Excel 2003 и твой код также как и мой отрабатывает нормально, но после закрытия книги и повторном ее открытии защищенные ячейки снова можно выделять.
Вобщем засада.
Что подскажите?

Как насчет языка локали и обновлений?
Привет,
KL

Belkin
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 02.11.2007 (Пт) 18:02
Откуда: Рязань

Сообщение Belkin » 02.07.2008 (Ср) 10:14

KL
Что ты имеешь ввиду?
Предлагаешь патч на Excel?
Если да, то где его взять?
Андрей.

Belkin
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 02.11.2007 (Пт) 18:02
Откуда: Рязань

Сообщение Belkin » 02.07.2008 (Ср) 14:17

Решил вопрос, путем установки Пакет обновления Office 2003 Service Pack 3 (SP3) с микрософтовского сайта.
Спасибо тем кто помогал.
Андрей.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList