Hoe u Excel-macro’s digitaal kunt ondertekenen

Als je ooit met VBA in Excel hebt gewerkt en plotseling die gele beveiligingswaarschuwing krijgt dat macro’s zijn uitgeschakeld, is dat behoorlijk irritant. Veel mensen kiezen er dan voor om het bestand helemaal niet te openen, vooral als ze de bron niet vertrouwen. De truc is om die macro’s digitaal te ondertekenen – het is alsof je Excel een ‘vertrouw me’-badge geeft. Het bewijst dat de macro daadwerkelijk van een vertrouwde bron afkomstig is, waardoor de beveiligingswaarschuwing niet elke keer wordt geactiveerd. Ik weet niet precies waarom het werkt, maar het lijkt je code te legitimeren en de vervelende waarschuwing te omzeilen. En ja, als je macro’s op een USB-token staan, is het proces iets complexer omdat je ondertekent met een privésleutel die buiten de computer is opgeslagen. Deze handleiding beschrijft de stappen om je VBA-macro’s te ondertekenen, of je nu een zelfondertekend certificaat gebruikt of een certificaat van een certificeringsinstantie (CA), zodat je macro’s door Excel als veilig worden herkend.

Hoe u Excel-macro’s digitaal kunt ondertekenen

Wanneer u uw macro’s ondertekent, voegt u een speciale versleutelde handtekening toe aan het VBA-project. Zie het als het verzegelen van uw code met een digitale zegel. Het bevestigt dat niemand de code heeft gewijzigd sinds u deze hebt ondertekend. Hiervoor wordt een codeondertekeningscertificaat gebruikt, dat uw systeem controleert aan de hand van vertrouwde instanties. Als u deze stap overslaat, beschouwt Excel alle macro’s als potentieel gevaarlijk, vandaar de waarschuwing. Maar als u de macro’s correct ondertekent, worden ze als betrouwbaar beschouwd en krijgt u die vervelende waarschuwing niet meer. Deze techniek is handig als u regelmatig bestanden deelt of rapporten wilt automatiseren zonder iedereen bang te maken met beveiligingsmeldingen.

Hieronder volgen de stappen om uw Excel-macro’s te ondertekenen, met name als u een USB-hardwaretoken gebruikt waarop uw privésleutel is opgeslagen. Het proces is iets bewerkelijker, omdat u er eerst voor moet zorgen dat Windows uw certificaat herkent en vervolgens moet ondertekenen in de Visual Basic-editor van Excel.

  • Open het Excel-bestand met de macro’s die u wilt ondertekenen. Sla het op als .xlsm of .xlsb voordat u iets anders doet. Sla deze stap niet over, anders werkt het niet.
  • Plaats uw USB-hardwaretoken in uw pc. Dit apparaat bevat uw privésleutel en is essentieel voor het ondertekenen met een hardwarecertificaat. Laat het apparaat tijdens het hele proces aangesloten.
  • Controleer vervolgens of Windows het certificaat van de USB-token daadwerkelijk herkent. Open Internetopties — u kunt deze vinden via het Startmenu of het Configuratiescherm. Klik op het tabblad Inhoud en vervolgens op de knop Certificaten. Zoek in het tabblad Persoonlijk naar uw codeondertekeningscertificaat. Als het er niet staat, moet u het mogelijk laden met de software van de certificeringsinstantie (CA) of met het hulpprogramma van uw USB-token. Vaak moet u het certificaat eerst in Windows importeren voordat Excel het kan herkennen. Wees geduldig — het kan soms wat vreemd verlopen.
  • Open het tabblad Ontwikkelaar in Excel. Als het niet zichtbaar is, klik dan met de rechtermuisknop op het lintgebied, kies Lint aanpassen, schakel het selectievakje voor Ontwikkelaar in en klik op OK.
  • Klik op het pictogram Visual Basic of druk op de toets Alt + F11om de VBA-editor te openen.
  • Ga in de VBA-editor naar Extra > Digitale handtekening. Er verschijnt een klein venster waarin wordt aangegeven dat het project nog niet is ondertekend.
  • Klik in het dialoogvenster Digitale handtekening op de knop Kiezen…. Er wordt een lijst met beschikbare certificaten geopend. Als alles correct is ingesteld, zou het certificaat van uw USB-token hier moeten verschijnen. Selecteer uw codeondertekeningscertificaat en klik op OK.
  • Klik in het hoofddialoogvenster op OK om de handtekening te vergrendelen. Uw VBA-project heeft nu een vertrouwde handtekening.

Sluit de VBA-editor en ga terug naar Excel. Sla het bestand op met Ctrl + S. Voer het certificaatwachtwoord in wanneer daarom wordt gevraagd (als uw certificaat er een vereist).Na het opslaan wordt de handtekening ingesloten. Om dit te controleren, opent u het bestand opnieuw en kijkt u of de gele beveiligingswaarschuwing is verdwenen of dat de handtekening nu als vertrouwd wordt weergegeven. U kunt VBA ook opnieuw openen en controleren of uw certificaat wordt weergegeven onder Extra > Digitale handtekening.

Als u wilt dat uw digitale handtekening langer geldig blijft — vooral als het certificaat mogelijk verloopt — kunt u een tijdstempel toevoegen. In één geval moest ik de onderstaande opdracht uitvoeren vanuit een opdrachtprompt of PowerShell met beheerdersrechten:

signtool sign /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 /a "path\to\yourfile.exe"

Dit koppelt uw digitale handtekening aan een tijdstempelserver, zodat de handtekening geldig blijft, zelfs als uw certificaat later verloopt. Zorg er wel voor dat u “path\to\yourfile.exe” vervangt door het daadwerkelijke pad naar uw bestand. U ziet een bericht dat de verificatie is geslaagd, wat een goed teken is.

Hoe onderteken je een macro digitaal in Excel?

De eenvoudigste manier is om uw macro-werkmap te openen en vervolgens op te drukken Alt + F11om de VBA-editor te openen. Ga in het menu naar Extra > Digitale handtekening. Klik op Kiezen…, selecteer uw certificaat (zelfondertekend of uitgegeven door een certificeringsinstantie) en klik op OK. Sla de werkmap direct daarna op. Uw macro is nu ondertekend en eventuele wijzigingen zullen de handtekening ongeldig maken. Houd hier rekening mee als u de werkmap later wilt bewerken.

Hoe kan ik een complete Excel-werkmap digitaal ondertekenen?

Het ondertekenen van de volledige werkmap werkt iets anders. U kunt een zichtbare handtekeningregel invoegen via Invoegen > Tekst > Handtekeningregel — hiermee wordt een regel weergegeven waarop iemand handmatig kan tekenen. Voor een onzichtbare handtekening gaat u naar Bestand > Info > Werkmap beveiligen > Een digitale handtekening toevoegen. Beide methoden vereisen een geldig certificaat en tonen de authenticiteit van het document aan. Houd er rekening mee dat het daadwerkelijke ondertekeningsproces meestal hetzelfde certificaat gebruikt als voor het ondertekenen van macro’s, en dat dit proces plaatsvindt via de opties Werkmap beveiligen of Handtekeningregel.