Удаление пароля из документа Excel
Я предоставляю внутреннюю поддержку, и один из наших пользователей случайно поместил пароль в файл excel, я сделал правильные проверки, чтобы убедиться, что пользователь должен иметь доступ к документу и теперь хочет знать, что Рекомендации по удалению пароля из документа Excel.
Для чего это стоит, пароль появляется после открытия Excel, но перед тем, как вы сможете увидеть какие-либо данные в excel.
- Excel: принимать только уникальные значения в coloumn
- Outlook 2007 переустановить и импортировать из резервной копии, теперь у меня есть дубликаты всего
- Отключить Центр загрузки Microsoft Office
- Как вставить удаленное изображение в электронное письмо (без его подключения) с помощью Outlook 2007?
- Копировать стили из документа Word Word 2010 в другой
- Файлы MS Office, загруженные из gmail, не открываются
- Как изменить размер и стиль изображений в Outlook для Mac 2011?
- Как удалить или изменить фон заполняет все таблицы в документе Microsoft Word
- Клавиша Tab в Microsoft Word не увеличивает отступ в списках маркеров
- Как я могу удалить skype для бизнеса?
- Получить количество страниц из нескольких документов Word, выбрав их в папке?
- Как изменить язык всех слайдов Powerpoint сразу?
- MS Office 2007 - изменение языка отображения пользовательского интерфейса с немецкого языка на английский
Elcomsoft делает довольно полезную программу под названием Advanced Office Password Recovery, которая может выполнять работу лучше, чем что-либо еще, что я использовал.
Вероятно, стоит потратить на данные, которые вы пытаетесь восстановить, прежде чем пытаться это сделать, иногда менее дорого, чтобы позволить пользователю воссоздать документ с нуля (и учит их ценному уроку ;-)). AOPR не является бесплатным, и пароли иногда могут быть обработаны только грубой силой (всякая возможная комбинация букв), что может занять очень много времени.
Что-то вроде этого, дополнение Excel Password Remover XLA, что вы после?
EDIT: Размышление об этом, возможно, нет – это используется для удаления пароля из защищенных рабочих листов / книг.
Если вы знаете, что такое пароль, продолжайте и откройте документ Excel. Затем нажмите «Файл»> «Сохранить как». Слева от кнопки «Сохранить» находится небольшая выпадающая надпись «Инструменты». Нажмите на нее, а затем нажмите «Общие параметры». Удалите записи паролей и нажмите «ОК». Сохраните документ.
Если вы не знаете, что такое пароль, вы можете использовать VBA, чтобы найти его. Если бы я должен был догадаться, ваш пользователь, вероятно, не использовал бы супер надежный пароль, поэтому мы могли бы использовать метод грубой силы, чтобы его найти. Код ниже грубо, но он помог мне найти слабый, потерянный пароль на нескольких моих документах пользователей. Он проверяет пароли любой длины с символами ASCII от 1 до z. Вы бы назвали это из окна «Немедленное» и подождали несколько минут:
? GetPassword("D:\mywkbk.xlsx")
–
Public Function GetPassword(ByRef sFileName As String) As String On Error Resume Next Dim pw As String pw = "" Do VBA.Err.Clear pw = GenerateNextPassword(pw) Application.Workbooks.Open sFileName, False, True, , pw, pw VBA.DoEvents Loop While VBA.Err.Number = 5408 GetPassword = pw End Function Public Function GenerateNextPassword(ByRef sCurrentPassword As String) As String Const MAX_CHAR = 122 Const MIN_CHAR = 49 Dim sCurrentPasswordMax As String Dim sNewPassword As String Dim i As Long sCurrentPasswordMax = String(Len(sCurrentPassword), Chr(MAX_CHAR)) If sCurrentPassword = sCurrentPasswordMax Then 'do an increment that changes the length sNewPassword = String(Len(sCurrentPassword) + 1, Chr(MIN_CHAR)) Debug.Print Now(); ": "; sNewPassword ElseIf Asc(Right(sCurrentPassword, 1)) = MAX_CHAR Then 'do an increment that changes multiple characters sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(MIN_CHAR) For i = Len(sCurrentPassword) - 1 To 1 Step -1 sNewPassword = Left(sNewPassword, i - 1) & Chr(Asc(Mid(sNewPassword, i, 1)) + 1) & Mid(sNewPassword, i + 1) If Asc(Mid(sCurrentPassword, i, 1)) <> MAX_CHAR Then Exit For End If Next i Else 'do an increment on the rightmost character sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(Asc(Right(sCurrentPassword, 1)) + 1) End If GenerateNextPassword = sNewPassword End Function
Подход Hook, продемонстрированный в этой статье SO, работает КАЖДЫЙ раз.
https://stackoverflow.com/a/27508116/5757159
Нет Hex-редакторов, нет загрузок, нет инсталляторов. Просто чистое решение VBA.