Vba excel узнать защищен ли лист
выражения. 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 и обратная связь.
Как снять защиту листа программно?
Нужно срочно изменить формулу на защищенном листе, но пароль где то потерялся, выручте пожалуйста.
Программно снять защиту с листа чтобы добавить строку
Добрый день! Есть макрос на добавление строки: 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, так, балуюсь с кодами которые нашел на форумах. .
Если вы хотите проверить, защищен ли определенный рабочий лист или книга в Excel, эта статья может вам помочь.
Проверьте, защищен ли рабочий лист кодом VBA
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Следующий код VBA может помочь вам легко проверить, какой лист защищен или незащищен в текущей книге. Пожалуйста, сделайте следующее.
1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в окно кода.
Код VBA: проверьте, защищен ли рабочий лист или нет
3. нажмите F5 ключ для запуска кода, затем Kutools for Excel появится диалоговое окно, выберите ячейку для поиска результатов проверки и, наконец, нажмите кнопку OK кнопку.
Заметки:
1. Если выбранная вами ячейка на защищенном листе, другая Kutools for Excel появится диалоговое окно, щелкните значок OK кнопку, результат проверки будет сохранен на новом созданном листе.
2. Напротив, если выбранная ячейка находится на незащищенном листе, результат проверки будет немедленно отображаться в выбранном диапазоне.
Вы можете увидеть результат проверки, как показано на скриншоте ниже:
Проверьте, защищена ли книга кодом VBA
Кроме того, вы можете проверить, защищена ли активная книга кодом VBA. Пожалуйста, сделайте следующее.
1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в окно кода.
Код VBA: проверьте, защищена ли книга или нет
3. нажмите F5 ключ для запуска кода.
Вы получите одно из следующих диалоговых окон на основе вашей книги.
С легкостью защитите или снимите защиту сразу с нескольких листов в книге в Excel:
Kutools for Excel's Защитить лист и Снять защиту листа утилиты могут помочь вам легко защитить или снять защиту сразу нескольких листов в активной книге в Excel. См. Снимок экрана ниже:
Загрузите полнофункциональную 30-дневную бесплатную версию Kutools for Excel прямо сейчас!
Как автоматически защитить все рабочие листы при закрытии книги Excel?
Обычно вы можете вручную защитить лист или всю книгу паролем с помощью функции «Защитить лист» или «Защитить книгу» в Excel. Но если вы хотите автоматически защитить все рабочие листы паролем при закрытии книги, что вы можете сделать? Эта статья покажет вам метод VBA для этого.
Quickly Protect multiple/all worksheets with password at the same time in current workbook:
The Protect Worksheet utility of Kutools for Excel helps you easily protect multiple or all worksheets with password at the same time. See below screenshot:
- Enable the Protect Worksheet utility
- Check the worksheets you will protect at once
- Specify password
Kutools for Excel: with more than 200 handy Excel add-ins, free to try with no limitation in 60 days. Download the free trial Now!
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools : Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools : Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color ; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment.
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
Защитите все листы при закрытии книги Excel с помощью кода VBA
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Чтобы автоматически защитить все листы при закрытии книги, примените следующий код VBA.
1. В книге, все листы которой вы хотите защитить при закрытии файла, нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, дважды щелкните значок Эта рабочая тетрадь на левой панели, а затем скопируйте ниже код VBA в окно кода. Смотрите скриншот:
Код VBA: защитить все листы при закрытии книги
Tips:
2) If you just want to automatically protect a specified worksheet when closing the workbook, the below VBA code can help you.
3. Then press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
After the above step, all worksheets or specified worksheet will be protected automatically when closing the workbook.
Notes:
2. Please go to the certain worksheet, click Review > Unprotect Sheet. And then type in the password you specified in the VBA code to unprotect this worksheet.
Есть ли способ проверить, защищена ли книга , прежде чем открыть ее?
Вот мой код, но у меня нет идеи пути (если это возможно)
Примечание. В этом коде Cells(i,4).Value будет равно пути к рабочей книге.
3 ответа
Надо было немного подумать об этом и придумать следующее - хотя потребуется гораздо больше испытаний и, возможно, немного доработок. Мне не нравится, что по умолчанию получается, что он защищен, но в моем быстром тесте я мог получить только незащищенный файл для перечисления его элементов.
Это работает путем преобразования файла в zip-файл, навигации по его содержимому и последующего преобразования обратно в исходный тип. Я тестировал его только с xlsx файлами, но принцип должен быть таким же и для xlsm . После преобразования я использую оболочку для изучения содержимого почтового индекса. Незащищенный файл вернет список его содержимого, в отличие от защищенного.
Вызывается с помощью
Вывод в ближайшее окно:
Это был краткий тест для изучения проблемы, и я заявлю, что это, скорее всего, не окончательный и надежный ответ. В идеале я бы хотел просмотреть содержимое zip-папки и протестировать «EncryptedPackage», но NameSpace не возвращал никаких элементов. Может быть другой способ сделать это, но я не исследовал дальше.
Защищенное содержимое файла Excel в формате ZIP:
Содержимое незащищенного файла Excel:
Обновление с тестами по таймеру
Использование кода таймера из TheSpreadSheetGuru
И использовать следующий код для проверки путем открытия файлов, проверки на защиту и закрытия
Я получил следующие времена:
Запустите это несколько раз и получите аналогичные результаты
Может быть, это Вас не полностью удовлетворит, а может немного поможет.
Это совершенно не поддерживается в любой документации, но я думаю, что нашел что-то интересное. Мне любопытно другое мнение по этому поводу.
Итак, каждый раз, когда я просматривал все свойства файла, было одно свойство, которое, казалось бы, изменилось, когда файл был защищен паролем, это было свойство 42 (являющееся "Имя программы" ), часть расширенных свойств файла. См. Снимок экрана ниже (автор @Tom), где слева - незащищенный файл, а справа - защищенный.
Каждый раз, когда я снимал защиту с рабочей книги, показывалось значение, например «Microsoft Excel» или даже иногда «Microsoft Excel Online». Однако во всех случаях, когда я защищал книгу, значение было пустым. Следовательно, это заставило меня задуматься о том, что просмотр этого конкретного свойства говорит нам о том, что файл защищен, когда свойство пусто. Может быть, это потому, что свойство не может быть прочитано из-за защиты?
С помощью @Tom мы обнаружили, что индекс этого свойства может отличаться. В то время как в моей системе это свойство имеет индекс 42, оказалось, что в системе Тома оно будет меньше 8. Поэтому он любезно реализовал умный цикл для возврата правильного индекса перед циклом файлов. Примечательно: название объекта зависит от языка! Для голландского я бы искал "Programmanaam", например.
Код
Используя следующий код, мы можем пройти через определенную папку и зациклить файлы, чтобы вернуть значение этого конкретного свойства:
Чтобы немного адаптировать его к циклу диапазона и проверить несколько имен книг, которые могут выглядеть следующим образом:
Рабочий код выглядит так:
Примечание. Обратите внимание на использование Cstr() как в MainPath, так и в значении ячейки. Насколько я знаю, не очень понятно почему, но без него код вернет ошибку 445: объект не поддерживает это действие ' Обновить: Проверить это вопрос для более глубокого понимания этой конкретной проблемы.
Пример
Например, у меня есть следующие рабочие книги с защищенными Map2 и Map5:
Сразу после запуска первого макроса:
Далее я защищал только map1 и map3 со следующим результатом:
Заключение
Гипотеза доказана? Я не знаю, но с моей стороны не было ни единого раза, когда гипотеза оказалась ошибочной. Опять же, нет документации по этому вопросу. Но это может быть вашим способом узнать очень быстро, защищена ли рабочая книга или нет.
Читайте также: