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 ++.


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.