Door Outlook geattendeerd te worden op het meesturen van bijlagen (attachments)
Mark Bird heeft een macro voor Microsoft Outlook geschreven. Bij het versturen van een e-mailbericht kijkt de macro of het bericht het woord “attachment” bevat. Als dat het geval is dan controleert de macro of je een attachment hebt meegestuurd. Zo niet dan verschijnt er een popup die je vraagt of je het bericht echt wilt versturen zonder attachment: “It appears that you mean to send an attachment, but there is no attachment to this message. Do you still want to send?”
f
Als je op Ja klikt wordt het bericht toch verstuurd, klik je op Nee dan kun je bericht nog aanpassen en dan opnieuw verzenden. Zo kun je het versturen van attachments en bijlagen dus niet meer vergeten!
Lees vooral ook het artikel van Taco Oosterkamp “Maak vooral meer fouten! / Email wegsturen)” over het handmatig (met F9 of de knop Verzenden/ontvangen) in plaats van automatisch verzenden van e-mail. Vaak denk je vlak na het versturen “oeps attachment vergeten” en met handmatig verzenden kun je het bericht dan nog bewerken. De oplossing van Taco is misschien voldoende voor je en werkt ook bij andere “oeps” momenten
Outlook Attachment Reminder toevoegen aan Microsoft Outlook
Outlook Attachment Reminder is een macro voor Microsoft Outlook. Macro’s voeg je toe in Microsoft Outlook via de Visual Basic Editor.
- Open de Visual Basic Editor met ALT-F11 (of via de menu optie Extra>Macro>Visual Basic Editor).
- Aan de linkerkant verschijnt nu een boomstructuur (menu) met Project1. Als je deze opent dan verschijnt “Microsoft Office Outlook -objecten”. Onder deze optie verschijnt “ThisOutlookSession”. Dubbelklik daarop.
- Aan de rechterkant verschijnt nu een wit venster. Kopieer de macro van Mark Bird op deze plek. Of neem mijn versie van de macro die op zowel het woord “attachment” als het woord “bijlage” reageert en niet triggert op berichten waar je op reageert of die je doorstuurt.
- Sla de macro op met CTRL+S (of de disketteknop in de werkbalk).
Macro beveiligingsniveau en het ondertekenen met een digitaal certificaat
Microsoft Outlook kan zo worden ingesteld dat macro’s niet uitgevoerd mogen worden. Controleer of macro ingeschakeld zijn via Extra>Macro>Beveiliging.
De macro werkt niet als de optie “Geen waarschuwingen en alle macro’s uitschakelen” actief is. De macro werkt natuurlijk wel met de optie “Geen beveiligingscontrole voor macro’s (niet aanbevolen)”. Deze optie is “niet aanbevolen” door Microsoft omdat deze misbruikt kan worden door computervirussen. Standaard werkt de macro wel veilig met de optie “Waarschuwingen voor alle macro’s” actief. De volgende popup verschijnt echter bij iedere start van Microsoft Outlook 2003.

In Microsoft Outlook 2007 verschijnt de volgende popup.

De popup in Microsoft Outlook kun je overslaan door de macro te ondertekenen met een digitaal certificaat. Als de macro ondertekend is dan zal in Microsoft Outlook 2007 de knop “Alle documenten van deze uitgever vertrouwen” actief worden. In Microsoft Outlook 2003 verschijnt een extra te activeren vinkje in de popup: “Macro’s die afkomstig zijn van deze uitgever, altijd vertrouwen”.
Je kunt een digitaal certificaat voor persoonlijk gebruik maken met de tool selfcert.exe. Deze tool is door Microsoft meegeleverd met Microsoft Office. De locatie van deze tool is afhankelijk van de versie van Microsoft Office.
- Microsoft Office 2003″C:\Program Files\Microsoft Office\Office11\selfcert.exe”
- Microsoft Office 2007″C:\Program Files\Microsoft Office\Office12\selfcert.exe”
Geef in deze tool een naam aan het certificaat zoals ik in het screenshot hieronder mijn eigen naam heb gebruikt.

Nadat je een eigen certificaat hebt gemaakt kun je je eigen macro “ondertekenen” via de Visual Basic Editor.
- Open de Visual Basic Editor met ALT-F11 (of via de menu optie Extra>Macro>Visual Basic Editor).
- Aan de linkerkant verschijnt nu een boomstructuur (menu) met Project1. Als je deze opent dan verschijnt “Microsoft Office Outlook -objecten”. Onder deze optie verschijnt “ThisOutlookSession”. Dubbelklik daarop.
- Aan de rechterkant verschijnt de macro. Kies nu voor de menu optie Extra>Digitale handtekening en klik op Kiezen. Klik je eerder aangemaakte eigen certificaat aan en klik de openstaande schermen weg met OK.
- Sla de macro op met CTRL+S (of de disketteknop in de werkbalk).
Bij het opnieuw opstarten van Microsoft Outlook 2007 is de knop “Alle documenten van deze uitgever vertrouwen” actief. Als je daarop eenmaal klikt dan vraagt Microsoft Outlook bij het opnieuw opstarten niet meer of je de macro vertrouwt. Bij Microsoft Outlook 2003 verschijnt een extra vinkje in de popup: “Macro’s die afkomstig zijn van deze uitgever, altijd vertrouwen”. Vink deze aan en klik op de knop Macro’s inschakelen.

Bijkomend voordeel van het ondertekenen van de macro is dat de macro ook werkt als het macro beveiligingsniveau wordt opgeschroefd naar “Waarschuwingen voor macro’s met een digitale handtekening. Alle macro’s zonder een digitale handtekening worden uitgeschakeld.”
Technische details
Als de herinnering van Outlook Attachment Reminder niet werkt
Als je geen herinnering ontvangt dan kan het zijn dat je een Handtekening gebruikt (iets met een logo onderaan het e-mailbericht). Microsoft Outlook telt dergelijke bestanden ook als attachments. Mark heeft het script zo geschreven dat je het hier eenvoudig op kunt aanpassen. Hoog het getal “0″ in de volgende regel van het script op:
intStandardAttachCount = 0
Met welke versies van Microsoft Outlook werkt Outlook Attachment Reminder?
De macro werkt in ieder geval in Microsoft Outlook 2003 en Microsoft Outlook 2007 (dat heb ik zelf getest).
De macro werkt niet met Outlook Express (omdat je in deze variant geen macro’s kunt gebruiken, aldus Mark Bird).
Outlook Attachment Reminder ook op het woord “bijlage” laten triggeren
intIn = InStr(1, Left(strBody, intIn), “attach”)
intIn = InStr(1, Left(strBody, intIn), “attach”) + InStr(1, Left(strBody, intIn), “bijlage”)
Outlook Attachment Reminder niet triggeren bij het beantwoorden en doorsturen
intIn = InStr(1, strBody, “original message”)
If intIn = 0 Then intIn = Len(strBody)
door:
If Len(Item.ConversationIndex) = 44 Then intIn = Len(strBody)
Door wat te Googlen vond ik dat de lengte van “ConversationIndex” bij nieuwe e-mailberichten altijd 44 is.
[...] mijn weblog Een manier om… waar deze tekst in onderhoud is als onderdeel van het artikel “Door Outlook geattendeerd te worden op het meesturen van bijlagen (attachments)”. Voor kortere berichten kun je me volgen op http://twitter.com/mackaaij. Stem of voeg [...]