Excel снять защиту листа vba excel
Как снять защиту листа программно?
Нужно срочно изменить формулу на защищенном листе, но пароль где то потерялся, выручте пожалуйста.
Программно снять защиту с листа чтобы добавить строку
Добрый день! Есть макрос на добавление строки: Sub add_row() Rows(ActiveCell.Row).Insert.
Как снять защиту листа на нажатие уровня структуры
Есть такая проблемка, к сожалению не знаю как ее решить. Может кто знает.
Можно ли программно ставить и снимать защиту с VBA проекта в Excel, Access?
Помогите, пожалуйста, можно ли программно ставить и снимать защиту с VBA проекта в Excel, Access.
igleb75, привет ! в моей надстройке после выходных будет данный инструмент удалить пароли vba и excel
igleb75, попробуйте старым инструментом пока я может сегодня или завтра выложу новый
Сегодня у меня весь день на пробы по данному занятию.
Добавлено через 2 часа 18 минут
Пробовал два этих макроса
Добавлено через 3 минуты
Пробовал надстройку MulTExplex и тоже безрезультатно. Голову уже сломал. Надо просто очень этот Excel файл открыть.
igleb75, Привет обновил надстройку можешь скачивать, снимает пароли со всех версий Excel
используйте снять пароли удалить XML
igleb75, привет!
должно быстро быть
вы используете снять пароли удалить XML
потому что другой инструмент с 2016 excel не снимет пароль
А если там нет xml ?
''''''''''''''''''
Решил всё-таки взглянуть на этот "инструмент", хотя оно мне и не надо.
Получил вот это (см.скрин). Охота "взглянуть" пропала.
SoftIce, привет! проблема) у меня не возникает такой ошибки, сейчас попробую заменить файл проверите ?
не пойму что случилось
если нет XML это может быть с файлом формата *.xlsb, тогда нужно его сохранить в другом формате в теории
Добавлено через 1 минуту
на почту можно будет скинуть ? для оперативности
Добавлено через 8 минут
все не надо, но БОЛЬШОЕ ВАМ спасибо!)
Добавлено через 8 минут
Обновил)! проверте)
igleb75, нет, там нет XLM, но вы можете сохранить файл как xlsm, после удаления паролей можно пересохранить обратно
igleb75, я сейчас файл надстройки обновил раньше был не рабочий файл
Добавлено через 1 минуту
у вас нет проблем с файлом ?
VBA Excel печать листа
На листе ActiveSheet определены сквозные строки "$1:$2" для печати на каждой странице.
Excel VBA: Копирование листа из другой книги
Снова здравствуйте! Пытаюсь скопировать лист из одной книги в другую Private Sub Load_Click() .
Отображение целого листа Excel в форме vba
Все привет. Сразу оговорюсь, я не профи в vba, так, балуюсь с кодами которые нашел на форумах. .
выражения. Protect (Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
выражение Переменная, представляюная объект "Таблица ".
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Password | Необязательный | Variant | Строка, которая указывает пароль, чувствительный к делу для таблицы или книги. Если этот аргумент опущен, можно отклонить таблицу или книгу без использования пароля. В противном случае необходимо указать пароль, чтобы отклонить таблицу или книгу. Если вы забудете пароль, вы не сможете отклонить таблицу или книгу. |
Используйте надежные пароли, содержащие строчные и прописные буквы, цифры и знаки. В ненадежных паролях не используются сочетания таких элементов. Надежный пароль: Y6dh!et5. Слабый пароль: House27. Длина паролей должна быть не меньше 8 символов. В парольной фразе лучше использовать 14 или более символов.
Примечания
В предыдущих версиях , если применить этот метод с аргументом UserInterfaceOnly , заданным для True , а затем сохранить книгу, при повторном возобновлении работы весь рабочий таблица (а не только интерфейс) будет полностью защищена. Чтобы повторно включить защиту пользовательского интерфейса после открытия книги, необходимо снова применить этот метод с помощью набора UserInterfaceOnly к True.
Если вы хотите внести изменения в защищенный таблицу, можно использовать метод Protect на защищенной таблице, если пароль предоставлен. Кроме того, другим методом было бы отклонить таблицу, внести необходимые изменения, а затем снова защитить таблицу.
Незащищенная означает, что ячейка может быть заблокирована (диалоговое окно Format Cells), но включена в диапазон, определенный в диалоговом окне Разрешить пользователям изменять диапазоны, и пользователь не защитил диапазон с помощью пароля или был проверен с помощью разрешений NT.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Макрос предназначен для программного подбора и снятия защиты с листа Excel.
Подобранный пароль не совпадает с установленным - но, тем не менее, защита снимается.
Аналогичный макрос снимает защиту книги Excel:
Комментарии
Не знаю с чем связано, но иногда макрос подвисает (сам пару раз сталкивался).
Либо отрабатывает менее чем за секунду (и снимает защиту), либо подвисает надолго - видимо, метод Unprotect в каких-то случаях применяется моментально, а в других - какие-то еще действия невидимые вызывает (что занимает в разы больше времени)
Возможно, от версии Excel зависит, но скорее - от конкретного файла Excel, с которого снимается защита
(например, там может запускаться автопересчёт формул при каждой попытке снятия защиты с листа)
Как вариант, - попробуйте отключить автопересчёт формул в файле перед снятием защиты макросом, вдруг поможет.
В любом случае, что есть, то есть. В подавляющем количестве случаев код отрабатывает быстро, и дает нужный результат.
Поскольку я применяю этот макрос примерно раз в год, что-то оптимизировать в коде планов нет.
Кроме того, можете добавить строку кода
DoEvents
после строки
If Err Then
тогда подвисания не будет (но макрос по прежнему будет работать либо очень быстро и результативно, либо долго и безрезультатно)
Добрый день, несколько лет работало отлично и вот пришли очередные файлы на разбор - и программа зависает на несколько часов и в конце "Не удалось снять защиту книги". Один проход цикла занимает 10 секунд! Эксель 2016, форматы не менялись, вообще вроде бы ничего не изменилось - но больше не работает.
В большинстве случаев, пароль подбирается за 1-2 секунды. Но иногда подвисает, - если больше 5-10 секунд думает, то можно уже не ждать (снимая задачу excel через диспетчер задач)
Видимо, от версии эксель зависит
Создал Макрос предназначен для программного подбора и снятия защиты с листа Excel.
Запустил и зависло причем минут 30 висело и ничего
Версия EXCEL 2016
Огонь, пораздолбал все пароли, сотрудники в шоке, сидят косятся. >:)
Потратил полдня, искал как снять защиту структуры книги от изменений. Перепробовал все что угодно, и вот только здесь наконец таки нашел решение проблемы.
Автору РЕСПЕКТ!!
Добрый день, Николай!
на данной странице макрос для снятия защиты с листов и структуры книги (т.е. защита от добавления или удаления листов в книгу, например). Пароль для открытия книги этим макросом снять нельзя.
Прошу прощения за возможно тупой вопрос, но куда нужно вставить этот макрос?
1) Если в новую книгу - то он ее и пытается взломать (пишет пароль снял)
2) если открываю Excel с паролем на книгу (при открытии МОДАЛЬНОЕ окно), то в код этой книги встроить код не получается (все не активно, пока активно окно "Введите пароль").
Спасибо большое, очень помогла эта программка
В Excel 2016 всё работает аналогично, зависать не должно
К сожалению, в 16 Excele тоже намертво зависает и не взламывает. Видимо сделали заплатку.
Перебирайте листы в цикле, внутри цикла активируйте каждый лист, и вызывайте приведенный в статье макрос.
Если сами не справитесь, - можем сделать под заказ (платно)
А не подскажете, пожалуйста, макрос, который будет снимать защиту с 3 листов.. только при условии что на 1 листе один пароль, а на 2 и 3 - другой. Что то не очень получается все правильно сделать:/
Макрос для снятия защиты со всех листов, если пароль одинаковый - знаю. а вот если такая ситуация. не щелкать же каждый лист отдельно(((
Офигеть. Ума не приложу как это работает, но блин работает. Огромное спасибо.
Если вы работаете с книгами Excel древних форматов (таких, например, как Excel 4),
то в Excel 2010 вы можете столкнуться с проблемой, что редактирование этих файлов по-умолчанию запрещено.
В настройках Excel 2010 для этого предусмотрены специальные опции (скриншот)
Мало того, что Excel блокирует редактирование этих устаревших файлов,
так ещё и макросы начинают вести себя очень странно
(например, если активен файл Excel4, простейший макрос чтения пути текущего файла не запускается)
Избежать проблем при работе с такими файлами (а проблемы возможны, если вы обрабатываете макросом множество файлов, полученных от разных организаций), можно, если при открытии надстройки (файла с макросами) выполнить следующий код:
Достаточно поместить вызов этого макроса в процедуру Workbook_Open, - и ограничения будут сниматься при каждом запуске вашей надстройки.
Аналогично можно сделать макрос, включающий опцию «Доверять доступ к объектной модели проектов VBA»:
Этот код припишет в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, и вы макросом сможете обращаться к свойствам проекта VBA
(например, чтобы выгрузить код макросов в текстовый файл, изменить кодовое имя листа или программно отредактировать код макросов, программно добавить элементы управления на форму, и т.д. и т.п.)
Отключить доступ тоже можно - достаточно поменять в макросе записываемое в реестр значение (с 1 на 0):
Многие пользователи надстроек (и других файлов Excel, содержащих макросы), при каждом запуске книги Excel во всплывающем окне жмут кнопку «Включить макросы».
Чтобы избавить пользователя от ежедневного уведомления об «опасных» макросах, можно использовать такой код:
После выполнения этого макроса, уровень безопасности в Excel будет изменен на «низкий» (при следующем запуске Excel), и уведомления об отключенных макросах (с предложением их включить) появляться не будут.
PS: C одной стороны, нехорошо без уведомления пользователя изменять настройки безопасности его программ.
Но, с другой стороны, макровирусов давно нет, а я сам не пишу вредоносные программы, так что считаю использование такого макроса допустимым.
Комментарии
Добрый день. Я собираюсь распространять некие рекомендации на каждый день в формате эксель.
Довольно частая проблема - блокирована работа макросов + старые версии эксель.
Пожалуйста напишите мне код в котором при открытии книги я разрешаю работу макросов для этой книги.
Для других, я так понимаю разрешения не будет. но, мне надо, что бы это работало "железно" и у всех.
И еще одна проблема. Одна из моих пользовательниц пользуется яблочным компьютером. Там макросы вообще не идут. Делать что?
Чтобы избавить пользователя от ежедневного уведомления об «опасных» макросах, можно использовать такой код:
-----------------------------------------
Sub Enable_AccessVBOM_and_Macro()
On Error Resume Next
Key$ = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & _
"\Excel\Security\"
' включаем программный доступ к объектной модели проекта VBA
CreateObject("WScript.Shell").RegWrite Key$ & "AccessVBOM", 1, "REG_DWORD"
' ставим низкий уровень безопасности (применится после перезапуска Excel)
CreateObject("WScript.Shell").RegWrite Key$ & "VBAWarnings", 1, "REG_DWORD"
End Sub
-----------------------
Достаточно поместить вызов этого макроса в процедуру Workbook_Open
======================================================================
Сам нашёл создаем параметр тут
[HKEY_CURRENT_USER\ Software\Microsoft\ Office\14.0\word\security]
Подскажите при добавлении в реестр строку [HKEY_CURRENT_USER\ Software\Policies\Microsoft\ Office\14.0\word\security]
"VBAWarnings"=dword:00000004 (при любом значении)
в самом ворде меню "параметры макросов" становиться не активной, как её оставить активной?
С хабра - "Исследователями в области информационной безопасности был обнаружен новый тип ransomwave — вредоносной программы, шифрующей пользовательские файлы и требующей выкуп в bitcoin. Новый криптовымогатель, который сами создатели назвали «locky», распространяется не совсем стандартным для подобного ПО способом — при помощи макроса в Word-документах. " , так что срочно закрываем макросы
Так! У мене була таже проблема! При програмном створенні нової книги потрібно було вставити в неї макрос і процедуру автозапуску макросу WorkBook_Open або Auto_Open цієї книги в подальшому при відкритті книги. Для цього потрібно встановити довірений доступ до проекту! Приклад функції Disable_AccessVBOM автора статті не деє належного результату: тобто після виконання тієї функції та подальшому зверненні до проекту книги для запису процедур (макросів) спливало повідомлення про помилку: "доступ до проекту не є довіреним . ". Запропонована автором статті функція не дає належного результату, як я припускаю, з тієї причини, що в Office встановлений подвійний ключ на управління доступом до проекту, пов'язаний з самою формою "Безпека макросів". Я вирішив проблему, з Божою допомогою, через запуск форми і її управління за допомогою функції SendKeys. Вибачте, я не буду приводити алгоритм у запобігання того. щоб він опинився в злих руках! Якщо у Вас гарні цілі. то експерементуйте.
Уважаемый админ. Снова Я. Недавно переставил Винду (пару часов назад), поставил 7 на всякий случай, чистую. Поставил Офис 2010, но так как должны выгружаться данные из програмки в Excel они не выгружаются все равно. (( Снова моргнет загрузка и тишина. Макросы разрешил, даже в устной форме))) но ничего.
Олег, я знаю в чем проблема (неверное значение 1-2 ключей в реестре Windows),
но мне лень писать вам инструкцию по поиску и правке этих ключей (на своём компе я бы разобрался, но с чужим компом проще не связываться)
Потому, самое простое решение в вашем случае, - снести все Office какие есть, и поставить только один (рекомендую Office 2010)
При этом все эти ключи перезапишутся, - и всё должно заработать.
Если не поможет, - то проблема в самой этой вашей программе, запускающей файл Excel (недостаточно универсальная)
Спасибо большое за внимание к моей проблеме!
Дело вот в чем. До 2010 у меня стоял 2007 Office, была такая же ситуация, я подумал так же что проблема в установке и установил 2010. но как видно это не помогло.
Что может еще так влиять на такого рода действия?
Спасибо.
Олег, в вашем случае макросы ни при чём.
Ваша программа формирует файл Excel, и даёт Windows команду открытия этого файла.
Если файл не открывается, - значит, Excel некорректно установлен
(не прописаны 1-2 параметра в реестре, отвечающие за команду открытия файлов Excel)
Кто подскажет? Ситуация такая. Есть программа в которой делаю различные операции, а когда нажимаю кнопку Print, то должна запуститься Excel 2010 и все данные туда выкладываются . Так вот что, на других компах все норм работает, а у меня жмешь и ничего (на 1сек знак загрузки моргнет и все). Excel не запускается вообще. Макросы разрешены в безопасности. Что здесь может быть, куда необходимо нажимать. )) В Excel я как видите не силен. ((
а если даже после нажатия на "Включить содержимое", макросы не запускаются?
Есть другой вариант (если не хотите пересохранить файл после первого открытия):
код помещаете в модуль временного активного листа, процедуру запуска - в событие активации листа
После выполнения макроса удаляете этот временный лист - он удалится вместе с кодом, и макросов в файле не останется.
Дело в том, что я сделал книгу ексель, в которой находяться: Private Sub Workbook_Open в ЭтаКнига и 2 модуля. Эта книга должна автоматически открываться на 100 разных компьютерах. Задача стоит в том, чтобы по завршении работы программы все макросы удалялись из этой книги (мне это нужно для того, чтобы пользователи, которые будут открывать эту книгу постоянно не сталкивались с вопросом: "Эта книга содержит макросы. ". Программно ставить високий или низкий уровень макросов я не хочу (может у пользователей есть какие-то нюансы работы с ексель)). Версий ексель на этих компьютерах я не знаю, поэтому вариант с сохранением в формате xlsx мне не подходит.
jaroslav, надо перезапустить Excel, чтобы измененные в реестре настройки безопасности вступили в силу
(впрочем, если вручную менять в интерфейсе Excel - часто тоже перезапуск Excel требуется)
Т.е. не получится так, что макрос выполнили, я прям тут же начали программно работать с объектной моделью.
PS: а такие макросы, как Delete_Macroses, вообще не нужны
всё делается на порядок проще, одной строкой кода, - сохранением файла в формате XLSX
(Если нужен другой формат файла, но без макросов, то: создаете программно XLSX методом SAVEAS, закрываете созданный XLSX, открываете снова, сохраняете в нужном формате под нужным именем.)
А макросы, работающие с VBProject, советую использовать только на своем компе (для личных нужд) - где можно поставить галочку в настройках вручную.
Вы пишете:
"Аналогично можно сделать макрос, включающий опцию «Доверять доступ к объектной модели проектов VBA»:
Sub Enable_AccessVBOM() ' включает программный доступ к объектной модели проекта VBA
On Error Resume Next
Key$ = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & _
"\Excel\Security\AccessVBOM"
CreateObject("WScript.Shell").RegWrite Key$, 1, "REG_DWORD"
End Sub
Этот код припишет в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, и вы макросом сможете обращаться к свойствам проекта VBA".
Действильно этот макрос прописивает в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, но галочку возле Доверять досту к Visual Basic Project в меню Надежные издатели меню Безопасность макросов вкладки безопасность меню Сервис/Параметры в Excel 2003 он не ставит. И при запуске макроса:
Sub Delete_Macroses()
Dim oVBComponent As Object, lCountLines As Long
If ActiveWorkbook.VBProject.Protection = 1 Then
MsgBox "VBProject ." & vbCrLf & _
" "
Exit Sub
End If
For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
With oVBComponent
Select Case .Type
Case 1
.Collection.Remove oVBComponent
Case 2
.Collection.Remove oVBComponent
Case 3
.Collection.Remove oVBComponent
Case 100
lCountLines = .CodeModule.CountOfLines
.CodeModule.DeleteLines 1, lCountLines
End Select
End With
Next
Set oVBComponent = Nothing
End Sub
выдает ошибку 1004: "Отсутствует доверие к программируемому доступу к проекту Visual Basic". Подскажите, пожалуйста как программно поставить галочку в екселе возле Доверять досту к Visua Basic Project в меню Надежные издатели
По какой-то причине Enable_AccessVBOM() не выполняет, так сказать, полноценный запуск "доступа к объектной модели проекта VBA".
Т.е. макрос срабатывает, ошибок не выдает, но "доступа к объектной модели проекта VBA" все равно не предоставляет. Хотя галочка в соответствующем пункте меню проставляется.
При закрытии файла и последующем его открытии галочки опять нет.
А при запуске макросов в текущем файле выдает ошибку, что "доступ к объектной модели проекта VBA" не предоставлен.
Единственный путь полноценного выполнения макроса, который я нашел, это зайти в настройки, где галочка пункта "доступ к объектной модели проекта VBA" уже стоит и подтвердить нажатием "ОК".
Только тогда все срабатывает как надо.
Protsiv, конечно же, ваш макрос не сработает.
Для того и отключают в Excel макросы, чтобы они не запускались.
Для чего был написан этот код: Если пользователь, запустив ваш файл, увидит предупреждение о макросах, и нажмёт кнопку «Включить макросы для этого файла»,
то тогда (и только в этом случае) код сработает - и в следующий раз пользователь не будет видеть предупреждения о макросах.
Ну а если пользователь откажется от включения макросов - тут ничего не сделать, придётся запускать аналогичный код из скрипта VBS или приложения EXE.
Лично я в таких случаях поступаю проще: скрываю заранее все листы файла, оставляя только один видимый лист - инструкцию по включению макросов.
Тут у пользователя выбора нет - либо работать с файлом с макросами, либо вообще не пользоваться файлом.
Вставил этот макрос в Private Sub Workbook_Open()
Но ведь он даже не начинает выполняться, поскольку установлен высокий уровень безопасности, не говоря уже об автоматическом перезапуске Экселя.
Может я что-то делаю не так?
Александр, проблема решается путем исправления макроса.
Если макрос нормально написан - для него не должно быть разницы, защищены файлы, или нет.
Если есть необходимость - можете заказать доработку того макроса, или написание нового, под ваши нужды.
Суть проблемы - есть более 100 файлов excel, в каждом по одному листу, на книге установлена защита без пароля, при обработке макросом сбора листов из всех этих книг в одну книгу, он не работает ссылаясь на то, что книги защищены. Вопрос в том как это победить?
В статье речь про другую защиту.
Включить макросы из вашего файла не получится.
Тот код, что вы показали - это скрипт VBS (т.е. отдельный файл)
На ПланетеExcel неоднократно этот вопрос обсуждали - воспользуйтесь поиском.
PS: Если надо распространять файл с макросами, а объяснять способ их включения вы не хотите, - укомплектуйте ваш файл установщиком (файл exe), который скопирует файл Excel в нужную папку, и ярлык для него поместит в папку автозапуска Excel (или в папку Addins)
Тогда макросы будут работать без изменения уровня безопасности Excel.
Нашел вот такой вот СКРИПТ
Sub test()
Dim objXL
Dim Secur
Set objXL = CreateObject("Excel.Application")
objXL.Visible = TRUE
secur = objXL.AutomationSecurity
objXL.AutomationSecurity = 1
objXL.Workbooks.Open ( mid(Wscript.ScriptFullName,1,len(Wscript.ScriptFullName)-8) & "test.xls")
objXL.AutomationSecurity = secur
End Sub
Суть вопроса - в файле есть юзерформа, которая активизируется при открытии файла, но если защита включена, то соответственно форма не появится и необходимо будет сначала выключить защиту (т.е. включить макросы), а уж потом нажать на кнопку "Меню", чтобы отобразилась форма. Программа будет запускаться в большой Холдинг и по этому, чтобы не учить всех сотрудников сети включать макросы - хотелось бы их включать автоматически при открытии файла. Если есть такая возможность дописать код - буду очень Вам благодарен. Т.к. у меня не выходит. Заранее спасибо!
Смотря зачем отключать, и из какого файла.
Если вы хотите получить доступ к коду файла, при открытии которого будет выполняться снятие защиты,
то не знаю, применятся ли настройки сразу
(возможно, придётся макросом закрыть текущий файл, и открыть его снова)
А возможно ли если включена защита - отключить её сразу при открытии файла?
Можно. Это запуск cmd.exe. И запуск из нее Excel после двухсекундной задержки. Если быть точным, не Excel, а предварительно сохраненной рабочей области.
Я извиняюсь, а можно прокомментировать следующую строку кода:
Shell "cmd.exe /c" & "ping -n 2 localhost > null&&start C:\Temp\resume_3.xlw&&del C:\Temp\resume_3.xlw -f"
Пожалуйста!
У этого способа есть явные слабые места. Просто написал первое, что пришло в голову.
Я тоже думаю, что перезапускать Excel в данном случае смысла нет.
Но за код перезапуска Excel - огромное спасибо.
Сам бы не догадался до такого способа.
Осталось только придумать ситуацию, когда подобный перезапуск приложения может быть полезен.
Вообще, я подумал в спокойной обстановке и получается, что нет смысла передергивать Excel.
Защита книги
доброго времени суток. Вопрос. Запаролил книгу, но узнал что открыть ее не представляет никакой.
Защита книги и кода excel
Вот новый вопросик: задача защитить код и доступ к записям листов методом макросов. Вот как я это.
Защита книги от переноса на другой ПК
У меня проблема, как защитить книгу от незаконного переноса на другой пк? Если кто знает помогите.
Защита книги excel 2007
Хочу чтоб Если книгу excel 2007 c названием BOOK1 перепишут в другой компьютер, там его не могли.
Нужно в автоопен поставить:
ActiveWorkbook.Unprotect Password:="ПАРОЛЬ"
Это снятие автоматом пароля.
Stormy day,
имею ввиду, что при закрытии книги автоматически пишется пароль. При открытии же загружается макрос, который его снимает. Т.е. создается ситуация, что без включенных макросов книга закрыта для редактирования: не может смотреть др. листы, не можете редактировать 1й лист и т.д. и т.п.
Если макросы отключены, нужно знать пароль для снятия защиты книги от редактирования. В противоположном случае, вы его не снимите, книга откроется, но тоьлко титульный лист.
Вобщем, это гарантирует, что пользователь не сможет отключить макросы, веренее это не ничего не даст: книга закрыта для редактирования.
авто опен - это обычный макрос в каталоге макросов. Делает "создать макрос" . и т.д. Просто первая строчка в макросе "Private Sub auto_open()". Вобщем, если макрос так называется - он запусется при открытии книги.
Имеется в виду такой вариант? Если да, то я задаю в лист "Эта книга" его и все равно книга с нуля запускается под паролем.
Добавлено через 10 минут
Возможно я конечно не так выразился изначально, еще раз по сути, меня не интересует защита отдельных листов и структуры от редактирования и изменения (все что связано со вкладкой Рецензирование) - с этим я разобрался, меня интересует шифровании книги стандартными методами (через Сервис при сохранении), вернее снятие пароля оттуда макросом. Насколько я понимаю, книгу надо сначала расшифровать паролем, а потом все макросы и будут запускаться (в моем понимании работы экселя), по-этому и спрашиваю, можно ли как-то это обойти. Была конечно идея запускать одну книгу, которая копировала в буфер обмена пароль, открывала нужную книгу и вставляла грубо, но это некрасиво и плоско, по-этому и интересно можно ли.
книга не запускается под поролем если он не установлен.
1. Сохраняете книгу(и все сделанные изменения) с автоматической установкой пароля (макрос вписывается в "эта книга"):
2. Также у вас прописан макрос на автоматической выполнение при открытии (обычный макрось в "mudules":
Т.е. Получается, что выходя из книги устанавливаетсяы пароль на защиту книги(структуры и окно). А при открытии книги выполняется макрос, которые его снимает. Т.о. если макросы отключены, то книги остается защищенной (структура окна и т.п.)
Читайте также: