Jeśli kiedykolwiek stworzyłeś zautomatyzowany raport Excel lub narzędzie do wprowadzania danych z użyciem VBA, mogłeś zobaczyć irytujący żółty pasek ostrzegawczy bezpieczeństwa informujący, że twoje makra są wyłączone. Wielu użytkowników może nie zdecydować się na otwarcie twojego pliku z powodu tego ostrzeżenia. Podpisywanie cyfrowe twoich makr może pomóc rozwiązać ten problem. Ten podpis informuje Excel, że: Ten kod pochodzi od zaufanego twórcy. W tym przewodniku pokażemy, jak cyfrowo podpisać makra w Excelu.
Jak cyfrowo podpisać makra w Excelu

Kiedy cyfrowo podpisujesz makro w Excelu, dodajesz unikalny, szyfrowany podpis do swojego projektu VBA. Ten podpis działa jak pieczęć zapobiegająca manipulacjom na butelce z lekiem; pokazuje, że nikt nie zmienił kodu od czasu, gdy ostatnio go edytowałeś. Podpis korzysta z certyfikatu do podpisywania kodu, który jest cyfrowym identyfikatorem, który komputery sprawdzają na liście zaufanych autorytetów. Bez ważnego podpisu Excel traktuje każde makro jako potencjalnie niebezpieczne. Jednak z podpisem, twoje makra są traktowane jako zaufane i bezpieczne.
Aby cyfrowo podpisać makra w Excelu, wykonaj poniższe kroki.
Gdy certyfikat do podpisywania kodu jest przechowywany na tokenie USB, proces podpisywania odbywa się bezpośrednio w edytorze Visual Basic w Excelu. Poniższe kroki zakładają, że token jest już włożony i jego certyfikat został załadowany do systemu Windows. Postępuj zgodnie z tymi krokami, aby zastosować trwały podpis do swojego projektu VBA.
- Otwórz skoroszyt Excel zawierający makro VBA, które zamierzasz podpisać. Upewnij się, że plik jest zapisany z włączonym rozszerzeniem makr (.xlsm lub .xlsb) przed kontynuowaniem.
- Włóż swój bezpieczny token USB do dostępnego portu USB w swoim komputerze. Ten token przechowuje prywatny klucz twojego certyfikatu do podpisywania kodu. Pozostaw go podłączonego przez cały proces podpisywania.

- Przed otworzeniem edytora Visual Basic, zweryfikuj, czy certyfikat z twojego tokena USB jest rozpoznawany przez Windows. Otwórz Opcje internetowe (wyszukaj „Opcje internetowe” w Windowsie lub otwórz Internet Explorer i przejdź do Narzędzia > Opcje internetowe). Kliknij na zakładkę Treść, a następnie kliknij przycisk Certyfikaty.
- Pod zakładką Osobiste, twój certyfikat do podpisywania kodu powinien się pojawić. Jeśli go brakuje, użyj oprogramowania dostarczonego przez twoją jednostkę certyfikującą (CA), aby załadować certyfikat z tokena do systemu Windows. Dopiero po tym kroku Excel będzie mógł zobaczyć certyfikat.
- W Excelu kliknij na zakładkę Deweloper na wstążce. W sekcji Kod kliknij na ikonę Visual Basic. Alternatywnie, edytor można otworzyć, naciskając klawisze Alt + F11. Jeśli zakładka Deweloper nie jest widoczna, kliknij prawym przyciskiem myszy w dowolnym miejscu na wstążce, wybierz Dostosuj Wstążkę, zaznacz pole wyboru Deweloper w prawym panelu i kliknij OK.
- Rozpocznij proces podpisywania cyfrowego w edytorze Visual Basic. Z górnego paska menu, kliknij na Narzędzia, a następnie wybierz Podpis cyfrowy z rozwijanego menu. Pojawi się małe okno dialogowe, informujące, że projekt nie jest obecnie podpisany.
- Wybierz swój certyfikat do podpisywania kodu. W oknie dialogowym Podpis cyfrowy, kliknij przycisk Wybierz… Nowe okno zatytułowane Wybierz certyfikat otworzy się, wyświetlając wszystkie certyfikaty cyfrowe dostępne na twoim komputerze, w tym certyfikat, który odpowiada prywatnemu kluczowi przechowywanemu na twoim tokenie USB. Wybierz odpowiedni certyfikat z listy i kliknij OK.
- Okno dialogowe Podpis cyfrowy wyświetli teraz nazwę wybranego certyfikatu. Kliknij ponownie OK, aby dołączyć podpis cyfrowy do swojego projektu VBA.
- Zamknij edytor Visual Basic i wróć do Excela. Natychmiast zapisz plik, naciskając klawisze Ctrl + S lub przechodząc do Plik > Zapisz. Gdy zostanie przeprowadzona operacja zapisu, może pojawić się okno z hasłem; wprowadź hasło dla swojego certyfikatu do podpisywania kodu (hasło związane z twoim tokenem USB lub plikiem .PFX). Po wprowadzeniu hasła, zapis się kończy i podpis zostaje osadzony.
- Excel nie wyświetla oficjalnego komunikatu potwierdzającego po udanym podpisaniu. Aby potwierdzić, całkowicie zamknij skoroszyt Excel, otwórz go ponownie i sprawdź, czy nie pojawia się żółty pasek ostrzegawczy bezpieczeństwa (lub czy ostrzeżenie pokazuje nazwisko twojego wydawcy jako zaufane). Możesz także ponownie otworzyć edytor Visual Basic, ponownie przejść do Narzędzi > Podpis cyfrowy i zobaczyć, że twój certyfikat jest teraz wymieniony jako aktywny podpis.
- Dodaj znacznik czasu, aby zachować ważność podpisu po wygaśnięciu certyfikatu.
- Otwórz Wiersz poleceń (Administrator) lub program Windows Terminal (Administrator).
- Przejdź do folderu SignTool (np. C:Program Files (x86)Windows Kits10bin10.0.xxxxx.0x86).
- Uruchom: signtool sign /tr http://timestamp.url /td SHA256 /fd SHA256 /a “pathtoyourfile.exe”
Należy użyć zaufanego adresu URL serwera znaczników czasu (takiego jak http://timestamp.digicert.com lub http://timestamp.comodoca.com/authenticode). Po uruchomieniu tego polecenia pojawi się komunikat potwierdzający, jeśli znacznik czasu został pomyślnie dodany.
Jak cyfrowo podpisać makro w Excelu:
Otwórz swój skoroszyt Excel z włączonymi makrami i naciśnij klawisze Alt + F11, aby uruchomić edytor Visual Basic. Z górnego menu kliknij Narzędzia → Podpis cyfrowy, a następnie kliknij Wybierz, aby wybrać swój certyfikat do podpisywania kodu (albo samodzielnie utworzony certyfikat za pomocą SelfCert.exe, albo komercyjny certyfikat przechowywany na tokenie USB). Kliknij dwa razy OK, zamknij edytor i natychmiast zapisz skoroszyt Excel. Podpis jest teraz dołączony do twojego projektu VBA, a każda przyszła modyfikacja kodu go usunie.
Jak cyfrowo podpisać w Excelu:
Cyfrowe podpisywanie w Excelu zazwyczaj oznacza podpisanie całego skoroszytu (nie tylko makr) widoczną linią podpisu cyfrowego lub niewidocznym podpisem. Wstaw linię podpisu za pomocą przycisku Wstaw > Tekst > Linia podpisu, a następnie ją wypełnij. Aby dodać niewidoczny podpis cyfrowy (dowód autentyczności bez widocznej linii), przejdź do Plik > Informacje > Chroń skoroszyt > Dodaj podpis cyfrowy. Oba te metody wymagają ważnego certyfikatu cyfrowego i potwierdzają, że skoroszyt Excel nie został zmieniony po podpisaniu.
