Jak obejść hasło projektu VBA z Excela

40

Potrzebuję pomocy przy odzyskiwaniu hasła lub omijaniu hasła w projekcie wykonanym w pracy. Autor wykorzystał MS Excel do wykonania projektu i znajduje się on na serwerze klienta. Serwer, którego używamy, nie ma dostępu do Notepad ++.

użytkownik365483
źródło
Dzięki Karan. Problem nie dotyczył dokumentu programu Excel, ale nie jestem w stanie wyświetlić kodu wykonanego przez innego pracownika. To na VB Ide, którego mogę używać przez excela
user365483
Ok, jeśli sam skoroszyt programu Excel nie jest chroniony hasłem i jest w nim tylko projekt VBA, patrz poniżej.
Karan
Nie mogę zainstalować żadnego edytora szesnastkowego, a plik jest plikiem .xlsm. Karan I byłoby miło, gdyby istniała alternatywa
użytkownik365483

Odpowiedzi:

62

W przypadku starszych plików .XLS:

  1. Otwórz plik w dowolnym edytorze szesnastkowym

  2. Wyszukaj tekst „ DPB = ” (bez cudzysłowów, powinieneś go znaleźć tuż nad „[Host Extender Info]”

    1

  3. Zmień go na „ DPx = ”, zapisz i zamknij plik

    2)

  4. Otwórz plik w programie Excel i naciśnij Tak, jeśli pojawi się następujące ostrzeżenie:

    3)

  5. Otwórz edytor VBA ( Alt+ F11) i naciśnij OK, gdy pojawi się następujące ostrzeżenie:

    4

  6. Kliknij prawym przyciskiem myszy nazwę projektu VBA, wybierz Właściwości , przejdź do zakładki Ochrona i usuń istniejące hasła, a także odznacz pole wyboru Zablokuj projekt do przeglądania :

    5

  7. Ponownie zaznacz pole wyboru Zablokuj projekt do przeglądania i dodaj własne niezapomniane hasło.

  8. OK, wyjdź, a teraz kod VBA jest dostępny!

W przypadku nowszych plików .XLSM:

  1. Zmień rozszerzenie pliku na .ZIP

  2. Otwórz plik w dowolnym archiwizatorze, takim jak WinRAR lub 7-Zip, a zobaczysz następującą strukturę katalogów:

    6

  3. Przejdź do katalogu xl i wypakuj vbaProject.bin :

    7

  4. Wykonaj czynności # 1-3 powyżej ( od przypadku starszych plików .xls sekcji ) z vbaProject.bin

  5. Zamień stary plik vbaProject.bin w pliku ZIP na nową wersję edytowaną heksadecymalnie

  6. Zmień rozszerzenie pliku z powrotem na .XLSM

  7. Wykonaj kroki 4–7 powyżej

Karan
źródło
Czy to działa dla MS Office 2013 ze starszymi plikami? Mam wrażenie, że Microsoft załatał to.
Menelaos Bakopoulos
2
Gdy wypróbowałem tę metodę w pakiecie Office 2010 i 2013, nie działała ona bezpośrednio. Po wykonaniu wszystkich kroków nie byłem w stanie wyświetlić makr, a następnie próbowałem wyeksportować makro jako .bas, mogłem wyjąć makro i wyświetlić je.
Abbas
Zostało to przetestowane w pakiecie Office 2010 i stąd pochodzą zrzuty ekranu. Ponadto dla tych, którzy nie mogą zainstalować edytora szesnastkowego, dostępnych jest wiele przenośnych.
Karan,
1
Działa również z plikami .xlam. +1
João Mendes,
Wykonałem wszystkie kroki, ale po naciśnięciu OK w ostrzeżeniu pojawia się nowy monit, w którym moje opcje to „otwórz i napraw” lub „anuluj”. Jeśli kliknę przycisk Anuluj, zamyka się; jeśli otworzę i naprawię, usuń wszystkie makra. Używam programu Excel 2011 dla komputerów Mac. Czy ktoś jeszcze tego doświadczył i czy istnieje obejście tego problemu?
user658182