Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как прописать пароль на снятие для VBA защиты в другой книге - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как прописать пароль на снятие для VBA защиты в другой книге
Димарик Дата: Четверг, 23.12.2021, 16:31 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

Здравствуйте. Подскажите пожалуйста, как мне сделать, чтобы проверочный файл, использовал пароль, для снятия защиты с листов? У меня такой код в книге №1:
[vba]
Код
Set iTempWB = Workbooks.Open(FileName:=iSubdir & iFile.name, UpdateLinks:=False, ReadOnly:=True, Password:="1234")
[/vba]
Он открывает вторую книгу (не явно, сам для себя) и делает определенные манипуляции, но в той книге необходима защита некоторых ячеек, она установлена с помощью макроса (в ней тоже макрос и он должен выполнятся, поэтому так)
[vba]
Код
Private Sub Workbook_Open()
    Dim arr, sSh
    arr = Array("Лист 1", "Лист 2", "Лист 3")
    For Each sSh In arr
        Protect_for_User_Non_for_VBA Me.Sheets(sSh)
    Next
End Sub
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
'    wsSh.Unrotect "1234"
    wsSh.Protect Password:="1234", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub
[/vba]
Если пароля нет (такого кода), то первая книга спокойно обрабатывает эту книгу, но как только я добавляю этот код, он эту книгу пропускает! Как Быть. Если я устанавливаю явно защиту во второй книге без макроса, то у меня не корректно работает макрос во второй книге. Сделал чтобы и защита была и макрос работал, теперь при проверке его возник вопрос!
 
Ответить
СообщениеЗдравствуйте. Подскажите пожалуйста, как мне сделать, чтобы проверочный файл, использовал пароль, для снятия защиты с листов? У меня такой код в книге №1:
[vba]
Код
Set iTempWB = Workbooks.Open(FileName:=iSubdir & iFile.name, UpdateLinks:=False, ReadOnly:=True, Password:="1234")
[/vba]
Он открывает вторую книгу (не явно, сам для себя) и делает определенные манипуляции, но в той книге необходима защита некоторых ячеек, она установлена с помощью макроса (в ней тоже макрос и он должен выполнятся, поэтому так)
[vba]
Код
Private Sub Workbook_Open()
    Dim arr, sSh
    arr = Array("Лист 1", "Лист 2", "Лист 3")
    For Each sSh In arr
        Protect_for_User_Non_for_VBA Me.Sheets(sSh)
    Next
End Sub
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
'    wsSh.Unrotect "1234"
    wsSh.Protect Password:="1234", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub
[/vba]
Если пароля нет (такого кода), то первая книга спокойно обрабатывает эту книгу, но как только я добавляю этот код, он эту книгу пропускает! Как Быть. Если я устанавливаю явно защиту во второй книге без макроса, то у меня не корректно работает макрос во второй книге. Сделал чтобы и защита была и макрос работал, теперь при проверке его возник вопрос!

Автор - Димарик
Дата добавления - 23.12.2021 в 16:31
boa Дата: Четверг, 23.12.2021, 16:59 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 559
Репутация: 167 ±
Замечаний: 0% ±

365
Трудно понять без примера, но возможно надо открывать 2 книгу с выполнением макросов
[vba]
Код
Set iTempWB = Workbooks.Open(Filename:=iSubdir & iFile.Name, UpdateLinks:=False, ReadOnly:=True, Password:="1234").RunAutoMacros(Which:=xlAutoOpen)
[/vba]




Сообщение отредактировал boa - Четверг, 23.12.2021, 17:01
 
Ответить
СообщениеТрудно понять без примера, но возможно надо открывать 2 книгу с выполнением макросов
[vba]
Код
Set iTempWB = Workbooks.Open(Filename:=iSubdir & iFile.Name, UpdateLinks:=False, ReadOnly:=True, Password:="1234").RunAutoMacros(Which:=xlAutoOpen)
[/vba]

Автор - boa
Дата добавления - 23.12.2021 в 16:59
Димарик Дата: Четверг, 23.12.2021, 17:20 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

boa, Здравствуйте. Ругается на RanAutoMacros - видимо нет такого метода!
 
Ответить
Сообщениеboa, Здравствуйте. Ругается на RanAutoMacros - видимо нет такого метода!

Автор - Димарик
Дата добавления - 23.12.2021 в 17:20
Serge_007 Дата: Четверг, 23.12.2021, 17:25 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЕсть: https://docs.microsoft.com/ru-ru....omacros

Автор - Serge_007
Дата добавления - 23.12.2021 в 17:25
Димарик Дата: Четверг, 23.12.2021, 17:29 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

Serge_007, Здравствуйте, а почему тогда не работает? RanAutoMacros выделяется синим и все
 
Ответить
СообщениеSerge_007, Здравствуйте, а почему тогда не работает? RanAutoMacros выделяется синим и все

Автор - Димарик
Дата добавления - 23.12.2021 в 17:29
RAN Дата: Четверг, 23.12.2021, 17:37 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Вангую. yes
[vba]
Код
Application.EnableEvents = True
Set iTempWB = Workbooks.Open(FileName:=iSubdir & iFile.name, UpdateLinks:=False, ReadOnly:=True, Password:="1234")
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВангую. yes
[vba]
Код
Application.EnableEvents = True
Set iTempWB = Workbooks.Open(FileName:=iSubdir & iFile.name, UpdateLinks:=False, ReadOnly:=True, Password:="1234")
[/vba]

Автор - RAN
Дата добавления - 23.12.2021 в 17:37
Димарик Дата: Четверг, 23.12.2021, 17:42 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

RAN, СПАСИБО! Получилось! Жму руку и с наступающим новым годом.
 
Ответить
СообщениеRAN, СПАСИБО! Получилось! Жму руку и с наступающим новым годом.

Автор - Димарик
Дата добавления - 23.12.2021 в 17:42
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!