Удаление Пароля Макроса Vba
Форма авторизации предназначена для разграничения прав пользователей при работе с документами Office, содержащими макросы. При помощи данного инструмента вы можете реализовать различные пользовательские интерфейсы для сотрудников различных групп доступа, а также разграничить права отдельных пользователей программы. Программа допускает создание неограниченного числа пользователей, каждый из которых принадлежит к одной из следующих групп: пользователь, уверенный пользователь, администратор, разработчик. (количество групп при желании можно легко увеличить до 9999) При первом запуске формы (или после того, как вы залогинитесь под правами администратора) становится доступной кнопка добавления и редактирования списка учётных записей. Для вызова формы авторизации используется функция GetNewAL, которая возвращает выбранный пользователем уровень доступа. Текущий уровень доступа хранится в глобальной переменной AL, таким образом, в любом месте кода вы можете использовать соответствующие проверки.
- Jan 22, 2010 - Взлом пароля Excel. Макрос VBA, на основе Excel. Существует простой способ взломать забытый пароль Excel. И что немаловажно.
- Надстройки, написанные на языке Visual Basic for Applications для приложений Microsoft Office, расширяющие.
- Проблема заключается в том, что на макросе стоит пароль VBAProjekt Pasword, новый макрос записать не могу, поскольку не я его писал, а с человеком который его поставил (пароль) связаться ни как уже нельзя (контакты не известны)! Промучился пол дня, но все проги или платные, или пишут что пароль скинуть нельзя! Очень нужно, макрос заполняет шаблон договора!!! Профессиональные хацкеры могут решить Этот вопрос за определенное денежное вознаграждение. Вот лентяи пошли уже даже договор макросом заполняют. Open file in Excel. Click 'Yes' if you get any message box. Set new password from VBA Project Properties. Close and open again file, then type your new password to unprotect.
Sub Main If AL = ALDEVELOPER Then Exit Sub ' этот макрос не надо запускать под учёткой разработчика If AL = ALADMINISTRATOR Then ' ваш код (пользователь залогинился как 'администратор') End If End If End Sub Пароль на проект VBA: 1 (единица) Вложение Размер Загрузки Последняя загрузка 57.29 КБ 3 4 года 3 недели назад. А как вы его удалите, если список пользователей доступен для изменения только при первом запуске файла? Ну а если пользователь успешно авторизовался под максимальным уровнем доступа - зачем ему запрещать изменять удалять свою учетную запись? PS: Что конкретно изменить - так сразу не могу сказать. Код писал давно, и уже плохо понимаю, что и как там сделано. Поглядел код - многое дорабатывать надо (добавлять проверки в процедуры DeleteAllAccounts и DeleteAccount, предварительно вычисляя уровень доступа для текущей учетной записи).
May 23, 2012 - Здравствуйте, друзья! Последние дни бился над такой задачей: Имеется файл.xls, в нем макрос на VBA, защищенный паролем.
Как реализовать - не подскажу. На форумах однажды видел подобное - там очень много кода, много ограничений на работы макроса (например, если файл в общем доступе, то работать не будет, если макросы выключены - тоже работать не будет) Чтобы учесть все нюансы - придётся написать ОЧЕНЬ много кода. Я бы за такое не взялся.
Программирование На Vba
И вам не советую (если только вы не хотите посвятить свою жизнь изучению программирования на примере этой задачи) Макросов для сбора данных из книг - множество, в том числе и у меня на сайте. Google вам поможет из все найти. Сможете их адаптировать под своб задачу, или нет, - зависит от структуры таблиц в ваших файлах. Если наделаете там кучу украшательств - типа объединённых ячеек, пустых строк и столбцов, промежуточные заголовки, и т.д. то будет сложновато. Если же сделаете нормальные таблицы - то с макросом проблем не возникнет. Это вы задаёте настройки для прав доступа макросов.
Т.е., например, макрос проверяет уровень доступа, и, если он равен 1, сообщает пользователю, что он не имеет права что-то там делать, а если уровень доступа больше 5, - то выполняет действие без предупреждения. Это всё никак не сказывается на встроенном функционале Excel. Чтобы подобное разграничение прав работало, надо защитить лист и книгу паролем, и уже макросом, при уровне доступа больше определённого значения, временно снимать установленную защиту, чтобы пользователь мог редактировать документ, или производить иные действия. Только я не стал дописывать эти две строки. Без этих строк теряется смысл этого обработчика. Представим, что вы авторизовались под админом, внесли изменения, сохранили файл, потом нажали 'крестик', и выбрали вариант 'закрыть без сохранения'.
В этом случае файл останется сохранённым с открытыми листами. Если 9 - это разработчик, 3 - администратор, 2 - уверенный пользователь и 1 - пользователь, то зачем нужны 4,5,6,7 и 8? Названия именованным константам даны лишь для примера. Вам ничто не мешает присваивать переменной AL любые значения (любые числа от -дофига до +дофига), без оглядки на константы. Например, AL = 55, или AL = -48 Или же, для удобства использования в коде, изменить константы как угодно. В настройках доступа пользователей присутствует диапазон от 1 до 9. А в аннотации к файлу указаны только четыре группы: пользователь, уверенный пользователь, администратор и разработчик.
Если 9 - это разработчик, 3 - администратор, 2 - уверенный пользователь и 1 - пользователь, то зачем нужны 4,5,6,7 и 8? В принципе указанных четырех групп более чем достаточно и на этот вопрос можно не отвечать. Только вот еще хотелось бы создать группу 0 или -1, не важно. Это гостевая группа с доступом только для просмотра документа, но с обязательным вводом пароля. Есть такая возможность?
Да, действительно, я когда качнул архив, сначала попробовал открыть файл прямо из него. Окошко для управления паролями появлялось. Мне, вроде, понравилось. С трудом вышел без сохранения (открыто-то ведь было из архива). Финансовая политика предприятия.
Решил файл из архива вытащить и положить к себе в копилку. Тут-то при очередном его открытии и выяснилось, что управлять правами я больше не могу. А оказывается, что при первом запуске запись в реестр внеслась. А как же мне по ходу юзания права редактировать, если я кнопочки для этого больше не увижу? Но вообще-то идея с записями в реестр мне не нравится. Не хочу чтобы там мусор копился (а после удаления файла запись о нем в реестре становится мусором).
Может, не в реестр запоминать, а в ThisWorkbook.CustomDocumentProperties? Function CheckAccount( ByVal Login As String, ByVal Password As String) As AccessLevels ' проверяет имя пользователя и пароль среди аккаунтов, сохранённых в файле ' если такая учётная запись присутствует, функция возвращает уровень доступа On Error Resume Next arr = AllAccountsArray(ThisWorkbook) For i = LBound(arr) To UBound(arr) If UCase(arr(i, 1)) = UCase(Login) And arr(i, 2) = Password Then CheckAccount = arr(i, 3): Exit Function End If Next i End Function Ещё: не могу закрыть файл. Отвечаю 'сохранить'. Прога думает 0,5 сек. И опять спрашивает 'Сохранить?'
Примеры Макросов В Excel
И так, пока не откажусь. А вы не отказывайтесь))) Решить проблему можно, немного изменив код в модуле книги.