Содержание
- Вынужденный обход парольной защиты модуля VBA в Excel 2010
- Удаление пароля из проекта VBA
- 6 ответов
- Unexpected error 40230 excel
- Answered by:
- Question
- Answers
- Как исправить ошибку Microsoft Access 40230
- Основы «Access Error 40230»
- Почему возникает ошибка времени выполнения 40230?
- Классические проблемы Access Error 40230
- Причины ошибок в файле Access Error 40230
Вынужденный обход парольной защиты модуля VBA в Excel 2010
Здравствуйте, друзья!
Последние дни бился над такой задачей:
Имеется файл .xls, в нем макрос на VBA, защищенный паролем. Файл создается путем экспортирования из программы ГрандСмета и содержит в себе смету, которая должна обрабатываться макросом.
На 32х разрядных версиях — отрабатывает без проблем.
На 64х столкнулся со следующей ошибкой:
Справка Microsoft дает однозначный ответ:
Связывался с Тех.Поддержкой, объяснял причину. Ответ был один:
У нас все работает. Проверяли на 64х разрядных версиях.
Тогда я решился самостоятельно править код макроса. Сложность, с которой столкнулся — модуль защищен паролем. О том, как сбросить/изменить пароль не используя специализированное ПО для взлома пароля
Итак, приступим. Заранее предупрежу — я не профессиональный программист, а скорее ЭниКейщик, так что возможны некорректные формулировки, а кому-то может и вовсе не понравиться выбранный мной путь.
Первым делом я стал бороздить просторы Сети в поисках решения. В основном полным-полно ссылок на ПО, из разряда PasswordCracker. Одно из решений опубликованное на Ru-Board’e полностью удаляло код модуля VBA.
В конце концов, мои старания вознаградились — предлагаю Вам вольный перевод найденного решения (к сожалению не могу указать первоисточник — не помню) + попытка понять суть выявленной «уязвимости».
Думаю, что ни для кого не секрет, что начиная с Excel 2007 использует Microsoft Office Open XML в качестве своего основного формата.
FarManager превосходно открывает xls файл с отображением всей структуры документа.
1. Запускаем FarManager.
2. Открываем файл для редактирования.
3. Ищем строку с определением ключа DPB, и изменяем имя ключа на DPW.
4. Сохраняем.
4. Открываем файл в Excel.
5. Подтверждаем загрузку проекта, не смотря на некорректный ключ (который мы сами и сделали некорректным в п.3):
6. В окнах с сообщениями об ошибке смело жмем ОК.
7. С помощью комбинации Alt+F11 — запускаем VBA Editor и, вуаля, код макроса доступен для редактирования.
Теперь причина возникавшей ошибки при запуске макроса в среде x64 — очевидна!
Компилятор подсказывает о том, что код в данном проекте должен быть обновлен для использования на 64х разрядных системах, конкретно указав, что надо было всего лишь добавить ключевое слово PtrSafe при объявлении функции.
Изменения внес, пересохранил, проверил. Все работает. Порадовал коллег решением наболевшей проблемы + приобрел опыт.
Пытаюсь решить последний вопрос, на котором я и застопорился:
Как вразумительно, и не обидев, объяснить Тех.Поддержке о решении возникшей проблемы с запуском макроса? Не должен же я самостоятельно перелапачивать все шаблоны (а их порядка 50), чтобы макрос корректно отрабатывал на x64 версиях Офиса. К тому же вопрос этики — пришлось «обходить» защиту кода макроса.
Источник
Удаление пароля из проекта VBA
Как программно удалить (известный) пароль из проекта Excel VBA?
Для ясности: я хочу удалить пароль из проекта VBA, а не из книги или каких-либо рабочих листов.
6 ответов
Это простой метод с использованием SendKeys для снятия защиты проекта VBA. Это приведет вас в проект, поэтому вам придется продолжать использовать SendKeys, чтобы найти способ снять защиту паролем: http://www.pcreview.co.uk/forums/thread-989191.php
А вот тот, который использует более продвинутый и несколько более надежный метод снятия защиты. Опять же, это только разблокирует для вас проект VB. http://www.ozgrid.com/forum/showthread.php?t = 13006 & page = 2
Я не пробовал ни один из методов, но это может сэкономить вам время, если это то, что вам нужно сделать .
Мои 2 цента в Excel 2016:
- откройте файл xls с помощью Notepad++
- Найдите DPB= и замените его на DPx=
- Сохраните файл
- Откройте файл, откройте редактор VB, открытые модули работать не будут ( error 40230 )
- Сохраните файл как xlsm
- Оно работает
После открытия файла xlsm с помощью 7 zip, извлечения vbaproject.bin и замены DpB на DPx в Notepad ++ и повторного сохранения я получил много ошибок vbaproject, и пароль проекта vba пропал, но не было кода / форм.
Я щелкнул правой кнопкой мыши, чтобы экспортировать, и смог повторно импортировать в новый проект.
Я нашел другой способ решить эту проблему, чтобы избежать пароля проекта VBA без потери пароля.
Если тип файла — файлы XLSM:
- Переименуйте .xlsm в .zip (или вы можете открыть .xlsm с помощью 7zip/WinRAR) и откройте/распакуйте его.
- Отредактируйте файл xl/vbaProject.bin с помощью Notepad++ или HexEdit.
- Найдите DPB= и замените его на DPx=
- Сохраните файл
- Скопируйте этот файл обратно в .zip (или заархивируйте файлы в архив)
- Переименуйте архив обратно в .xlsm
- Откройте файл в Excel, если будет предложено «Продолжить загрузку проекта», нажмите «Да». Если будет предложено с ошибками, нажмите OK. Примечание: код может быть пустым или поврежденным, что мы исправим на следующем шаге
- Сохранить файл как новый .xlsm файл
- Откройте новый файл в Excel (теперь ошибок быть не должно)
- Нажмите Alt + F11, чтобы открыть редактор VBA.
или
Выполните также этот шаг
Я нашел другой способ решить эту проблему, чтобы избежать пароля проекта VBA, не теряя пароль Excel. используйте Hex-редактор XVI32 для процесса
Если тип файла — файлы XLSM:
Откройте файл XLSM с помощью 7-Zip (щелкните правой кнопкой мыши -> 7-Zip -> Открыть архив). 2. Скопируйте файл xl/vbaProject.bin из файла (можно перетащить из 7-Zip), не закрывайте 7-Zip
Откройте файл vbaProject.bin с помощью HexEdit
Найдите «DPB =» и замените его на «DPx =».
Скопируйте этот файл обратно в 7-Zip (опять же, перетаскивание работает)
Откройте файл XLSX в Excel, если будет предложено «Продолжить загрузку проекта», нажмите «Да». Если будет предложено с ошибками, нажмите OK. 8. Нажмите Alt+F11, чтобы открыть редактор VBA.
При нажатии будет отображаться сообщение об ошибке «Неожиданная ошибка (40230)», просто нажмите «ОК» (6 или 7 раз), пока она не исчезнет.
Затем он откроется автоматически
Другой способ удалить пароль проекта VBA:
- Откройте файл xls с помощью шестнадцатеричного редактора. (например, Hex Edit http://www.hexedit.com/)
- Искать DPB
- Заменить DPB на DPx
- Сохранить файл.
- Открыть файл в Excel.
- Нажмите «Да», если появится какое-либо окно сообщения.
- Установите новый пароль из свойств проекта VBA.
- Закройте и снова откройте файл, затем введите новый пароль для снятия защиты.
ОБНОВЛЕНИЕ: для Excel 2010 (работает для MS Office Pro Plus 2010 [14.0.6023.1000, 64-разрядная версия]),
- Откройте файл XLSX с помощью 7zip
Если книга защищена:
- Просмотрите папку xl
- Если книга защищена, щелкните правой кнопкой мыши workbook.xml и выберите Изменить .
- Найдите часть ( XXXX — ваш зашифрованный пароль)
- Удалите деталь XXXX . (т.е. )
- Сохраните файл.
- Когда 7zip попросит вас обновить архив, ответьте Да .
- Закройте 7zip и снова откройте свой XLSX.
- Нажмите Защитить книгу на вкладке Обзор .
- Необязательно: сохраните файл.
Если листы защищены:
- Перейдите в папку xl/worksheets/ .
- Щелкните правой кнопкой мыши Sheet1.xml , sheet2.xml и т. Д. И выберите Изменить .
- Найдите порцию
- Удалите зашифрованный пароль (например, )
- Сохраните файл.
- Когда 7zip попросит вас обновить архив, ответьте Да .
- Закройте 7zip и снова откройте свой XLSX.
- Нажмите Снять защиту с листа на вкладке Обзор .
- Необязательно: сохраните файл.
Источник
Unexpected error 40230 excel
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
Anyone ever get this? and how do I contact Tech Support?
Unexpected Error 40230
I receieved this error when making db .accde
Thanks for any help.
ps. after selecting ok it repeated 9 times then appears to have finished anyway but I’ll need to test.
Answers
If decompiling didn’t fix it import everything into a new database and try again.
Bill Mosca
http://www.thatlldoit.com
http://tech.groups.yahoo.com/group/MS_Access_Professionals
If decompiling didn’t fixed the error, then follow Bill’s advice by creating a brand new database and copy your objects in it.
Most likely your VBA went corrupt and can’t be fixed by decompiling.
Hope this helps,
Daniel van den Berg | Washington, USA | «Anticipate the difficult by managing the easy»
Please vote an answer helpful if they helped. Please mark an answer(s) as an answer when your question is being answered.
Источник
Как исправить ошибку Microsoft Access 40230
Номер ошибки: | Ошибка 40230 | |
Название ошибки: | Access Error 40230 | |
Описание ошибки: | Ошибка 40230: Возникла ошибка в приложении Microsoft Access. Приложение будет закрыто. Приносим извинения за неудобства. | |
Разработчик: | Microsoft Corporation | |
Программное обеспечение: | Microsoft Access | |
Относится к: | Windows XP, Vista, 7, 8, 10, 11 |
Основы «Access Error 40230»
Эксперты обычно называют «Access Error 40230» «ошибкой времени выполнения». Программисты, такие как Microsoft Corporation, стремятся создавать программное обеспечение, свободное от этих сбоев, пока оно не будет публично выпущено. К сожалению, такие проблемы, как ошибка 40230, могут быть пропущены, и программное обеспечение будет содержать эти проблемы при выпуске.
После первоначального выпуска пользователи Microsoft Access могут столкнуться с сообщением «Access Error 40230» во время запуска программы. Когда появится ошибка, пользователи компьютеров смогут уведомить разработчика о наличии ошибки 40230 через отчеты об ошибках. Затем программисты могут исправить эти ошибки в коде и включить исправление, которое можно загрузить с их веб-сайта. В результате разработчик может использовать пакеты обновлений для Microsoft Access, доступные с их веб-сайта (или автоматическую загрузку), чтобы устранить эти ошибки 40230 проблемы и другие ошибки.
Почему возникает ошибка времени выполнения 40230?
«Access Error 40230» чаще всего может возникать при загрузке Microsoft Access. Следующие три наиболее значимые причины ошибок выполнения ошибки 40230 включают в себя:
Ошибка 40230 Crash — Номер ошибки вызовет блокировка системы компьютера, препятствуя использованию программы. Это происходит много, когда продукт (Microsoft Access) или компьютер не может обрабатывать уникальные входные данные.
Утечка памяти «Access Error 40230» — ошибка 40230 приводит к постоянной утечке памяти Microsoft Access. Потребление памяти напрямую пропорционально загрузке ЦП. Это может быть вызвано неправильной конфигурацией программного обеспечения Microsoft Corporation или когда одна команда запускает цикл, который не может быть завершен.
Ошибка 40230 Logic Error — Логические ошибки проявляются, когда пользователь вводит правильные данные, но устройство дает неверный результат. Неисправный исходный код Microsoft Corporation может привести к этим проблемам с обработкой ввода.
Большинство ошибок Access Error 40230 являются результатом отсутствия или повреждения версии файла, установленного Microsoft Access. Возникновение подобных проблем является раздражающим фактором, однако их легко устранить, заменив файл Microsoft Corporation, из-за которого возникает проблема. Мы также рекомендуем выполнить сканирование реестра, чтобы очистить все недействительные ссылки на Access Error 40230, которые могут являться причиной ошибки.
Классические проблемы Access Error 40230
Типичные ошибки Access Error 40230, возникающие в Microsoft Access для Windows:
- «Ошибка программного обеспечения Access Error 40230. «
- «Access Error 40230 не является приложением Win32.»
- «Извините за неудобства — Access Error 40230 имеет проблему. «
- «К сожалению, мы не можем найти Access Error 40230. «
- «Отсутствует файл Access Error 40230.»
- «Ошибка запуска в приложении: Access Error 40230. «
- «Файл Access Error 40230 не запущен.»
- «Ошибка Access Error 40230. «
- «Ошибка пути программного обеспечения: Access Error 40230. «
Эти сообщения об ошибках Microsoft Corporation могут появляться во время установки программы, в то время как программа, связанная с Access Error 40230 (например, Microsoft Access) работает, во время запуска или завершения работы Windows, или даже во время установки операционной системы Windows. Важно отметить, когда возникают проблемы Access Error 40230, так как это помогает устранять проблемы Microsoft Access (и сообщать в Microsoft Corporation).
Причины ошибок в файле Access Error 40230
Эти проблемы Access Error 40230 создаются отсутствующими или поврежденными файлами Access Error 40230, недопустимыми записями реестра Microsoft Access или вредоносным программным обеспечением.
В первую очередь, проблемы Access Error 40230 создаются:
- Недопустимый Access Error 40230 или поврежденный раздел реестра.
- Вирус или вредоносное ПО, которые повредили файл Access Error 40230 или связанные с Microsoft Access программные файлы.
- Другая программа злонамеренно или по ошибке удалила файлы, связанные с Access Error 40230.
- Другая программа, конфликтующая с Access Error 40230 или другой общей ссылкой Microsoft Access.
- Поврежденная установка или загрузка Microsoft Access (Access Error 40230).
Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11
Источник
- Remove From My Forums
-
Question
-
Anyone ever get this? and how do I contact Tech Support?
Unexpected Error 40230
I receieved this error when making db .accde
Thanks for any help.
ps. after selecting ok it repeated 9 times then appears to have finished anyway but I’ll need to test.
Chris Ward
-
Edited by
Tuesday, April 24, 2012 4:10 PM
add ps.
-
Edited by
Answers
-
Chris
If decompiling didn’t fix it import everything into a new database and try again.
Bill Mosca
http://www.thatlldoit.com
http://tech.groups.yahoo.com/group/MS_Access_Professionals-
Marked as answer by
KCDW
Wednesday, July 18, 2012 2:33 AM
-
Marked as answer by
-
Hi Chris,
If decompiling didn’t fixed the error, then follow Bill’s advice by creating a brand new database and copy your objects in it.
Most likely your VBA went corrupt and can’t be fixed by decompiling…
Hope this helps,
Daniel van den Berg | Washington, USA | «Anticipate the difficult by managing the easy»
Please vote an answer helpful if they helped. Please mark an answer(s) as an answer when your question is being answered.
-
Marked as answer by
KCDW
Wednesday, July 18, 2012 2:33 AM
-
Marked as answer by
-
If you would like to post, please check out the MrExcel Message Board FAQ and register here. If you forgot your password, you can reset your password.
-
Thread starter
ajm
-
Start date
Dec 18, 2007
ajm
Well-known Member
-
#1
anybody able to tell me what this is? I am getting it when trying to open a worksheet that has VBA projects protected.
Save Often
If you start asking yourself if now is a good time to save your Excel workbook, the answer is Yes
ajm
Well-known Member
-
#4
I don’t think that you can expect a definitive answer unless you post the code.
ajm
Well-known Member
-
#5
Thanks fellas. Happy Christmas to both, while I am at it. AB, right again. its an MDE file but we have since got into it by exporting the projects to a new database.
VoG II — couldn’t post what I couldn’t see, otherwise would have. Cheers, all the same.
- Threads
- 1,187,310
- Messages
- 5,962,808
- Members
- 438,629
- Latest member
- reyaldi7
Здравствуйте, друзья!
Последние дни бился над такой задачей:
Имеется файл .xls, в нем макрос на VBA, защищенный паролем. Файл создается путем экспортирования из программы ГрандСмета и содержит в себе смету, которая должна обрабатываться макросом.
На 32х разрядных версиях — отрабатывает без проблем.
На 64х столкнулся со следующей ошибкой:
Справка Microsoft дает однозначный ответ:
Связывался с Тех.Поддержкой, объяснял причину. Ответ был один:
У нас все работает. Проверяли на 64х разрядных версиях.
Тогда я решился самостоятельно править код макроса. Сложность, с которой столкнулся — модуль защищен паролем. О том, как сбросить/изменить пароль не используя специализированное ПО для взлома пароля
Итак, приступим. Заранее предупрежу — я не профессиональный программист, а скорее ЭниКейщик, так что возможны некорректные формулировки, а кому-то может и вовсе не понравиться выбранный мной путь.
Первым делом я стал бороздить просторы Сети в поисках решения. В основном полным-полно ссылок на ПО, из разряда PasswordCracker. Одно из решений опубликованное на Ru-Board’e полностью удаляло код модуля VBA.
В конце концов, мои старания вознаградились — предлагаю Вам вольный перевод найденного решения (к сожалению не могу указать первоисточник — не помню) + попытка понять суть выявленной «уязвимости».
Думаю, что ни для кого не секрет, что начиная с Excel 2007 использует Microsoft Office Open XML в качестве своего основного формата.
FarManager превосходно открывает xls файл с отображением всей структуры документа.
1. Запускаем FarManager.
2. Открываем файл для редактирования.
3. Ищем строку с определением ключа DPB, и изменяем имя ключа на DPW.
4. Сохраняем.
4. Открываем файл в Excel.
5. Подтверждаем загрузку проекта, не смотря на некорректный ключ (который мы сами и сделали некорректным в п.3):
6. В окнах с сообщениями об ошибке смело жмем ОК.
7. С помощью комбинации Alt+F11 — запускаем VBA Editor и, вуаля, код макроса доступен для редактирования.
Теперь причина возникавшей ошибки при запуске макроса в среде x64 — очевидна!
Компилятор подсказывает о том, что код в данном проекте должен быть обновлен для использования на 64х разрядных системах, конкретно указав, что надо было всего лишь добавить ключевое слово PtrSafe при объявлении функции.
Изменения внес, пересохранил, проверил. Все работает. Порадовал коллег решением наболевшей проблемы + приобрел опыт.
Пытаюсь решить последний вопрос, на котором я и застопорился:
Как вразумительно, и не обидев, объяснить Тех.Поддержке о решении возникшей проблемы с запуском макроса? Не должен же я самостоятельно перелапачивать все шаблоны (а их порядка 50), чтобы макрос корректно отрабатывал на x64 версиях Офиса. К тому же вопрос этики — пришлось «обходить» защиту кода макроса.
Благодарен за внимание. Надеюсь, что для некоторой части сообщества информация была полезна.
P.S. Вдохновленный решением возникшей проблемы, и оставшись только с одним вопросом, который задал чуть выше, я решился создать свой первый топик на Хабре, в надежде на профессиональный дружеский совет.
Автор: cyb3rD
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS
Contact US
Thanks. We have received your request and will respond promptly.
Log In
Come Join Us!
Are you a
Computer / IT professional?
Join Tek-Tips Forums!
- Talk With Other Members
- Be Notified Of Responses
To Your Posts - Keyword Search
- One-Click Access To Your
Favorite Forums - Automated Signatures
On Your Posts - Best Of All, It’s Free!
*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.
Posting Guidelines
Promoting, selling, recruiting, coursework and thesis posting is forbidden.
Students Click Here
Unexpected Error 40230 using VBUnexpected Error 40230 using VB(OP) 28 Apr 03 14:41 I have a Access .mdb application with its modules written in VB and protected with a password. When I attempt to open a module to view the code to make changes I am prompted for the password as usual. I enter the password without the code appearing. I then go to view project explorer with VB, select the project, and an prompted for the password again. After entering the password and Access Error box appears stating that Access must be shut down. At other times during this same sequence when trying to use VB within Access I receive the following error Unexpected Error [40230] I am not sure what is causing this and I can’t get to my code to modify it. Has anyone run into this before or have any solutions? Thanks, DH Red Flag SubmittedThank you for helping keep Tek-Tips Forums free from inappropriate posts. |
Join Tek-Tips® Today!
Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.
Here’s Why Members Love Tek-Tips Forums:
Talk To Other Members
- Notification Of Responses To Questions
- Favorite Forums One Click Access
- Keyword Search Of All Posts, And More…
Register now while it’s still free!
Already a member? Close this window and log in.
Join Us Close