Doorgaan naar hoofdcontent

Excel: mail versturen via outlook met VBA zonder onderbreking

Ik liep van de week tegen een probleem aan met het versturen van e-mail vanuit Excel met VBA via Outlook. Outlook wil dan voor het verzenden van elk mailtje expliciet toestemming hebben. Bijzonder lastig als je een hele serie e-mail wil versturen.

Op internet vind je dan wel oplossingen die je niet veel verder helpen. Normaal gesproken gebruik je een dergelijk script met het Send commando voor de werkelijke versturing:

With OutMail
   .To = email
   .CC = emailcc
   .BCC = emailbcc
   .Subject = "Subject"
   .HTMLBody = "Tekst"
   .Send
End With

Heel veel voorbeelden van scripts zijn te vinden bij Ron de Bruin: http://www.rondebruin.nl/win/s1/outlook/mail.htm

Het is het Send commando evenwel dat toestemming vereist van Outlook. Een alternatief is dan het Display commando in combinatie met Sendkeys:

With OutMail
   .To = email
   .CC = emailcc
   .BCC = emailbcc
   .Subject = "Subject"
   .HTMLBody = "Tekst"
   .Display
        Application.Wait (Now + TimeValue("0:00:02"))
        Application.SendKeys "%z"
End With

De gebruikte letter hier verwijst naar Verzenden. Voor de Engelse versie moeten we hier een s gebruiken.

Ook dit werkt helaas niet vlekkeloos. Voor een vlekkeloze oplossing zullen we Outlook moeten aanpassen.

Via het vertrouwenscentrum kunnen we in Outlook naar Toegang op programmeerniveau:


Normaal zijn de opties hier uitgegrijsd. Dit kun je op twee manieren wijzigen: via de registry of door Outlook te openen als administrator. Dit laatste kan door met de rechter muisknop te klikken op het starticoon en te kiezen voor Als administrator uitvoeren. Als je vervolgens Outlook opnieuw opent, ben je in staat in Toegang op programmeerniveau de onderste optie aan te vinken. Het is wel van belang om dan goede antivirus software te hebben.

Uitgebreide instructies voor het aanpassen van de registry vinden we via http://www.slipstick.com/developer/change-programmatic-access-options/

Uiteraard kan dit ook gebruikt worden om vanuit andere software als SalesForce bulkmail via Outlook te versturen.

Reacties

Populaire posts van deze blog

Friesland: nu ruim 1500 Friese familiewapens doorzoekbaar

Inleiding Het totale overzicht is nu ook als PDF te downloaden: rptWapens Al jaren verzamel ik de teksten van grafzerken en andere voorwerpen om ze in een database bijeen te brengen. Op heel veel oude grafzerken, rouwborden of andere voorwerpen in Friesland treffen we naast tekst ook vaak familiewapens aan. Ruim een jaar geleden ben ik gestart met het koppelen van familiewapens aan deze teksten. Met behulp van deze database kunnen we nu steeds meer voorheen onbekende wapens thuisbrengen of andersom, initialen herleiden tot de bijbehorende namen. Een voorbeeld. Zo kennen we uit het boek Fries Zilver nummer 894 met de tekst: TDH RBB 1669 Tjitte D. Wijngaarden geboren 6 october 1874 Daarbij een mannen- en een vrouwenwapen. Mannenwapen blijkt dat van Hoitinga te zijn. De letters blijken vervolgens te herleiden tot Tjepke Douwes Hoitinga en Rienkje Bouwes Bruinsma uit Nijland. Vermoedelijk getrouwd in 1669! Opgelost. Ander voorbeeld. Op een lepel uit het boek Dokk...

Excel: VBA script om wachtwoord te verwijderen

Af en toe krijg ik een vraag om een wachtwoord van een Excel blad te halen. Doodsimpel met VBA. Hier een script dat ik gebruik: Sub WachtwoordCrack()     Dim a As Integer, b As Integer, c As Integer, d As Integer, _     e As Integer, f As Integer, g As Integer, h As Integer, _  I As Integer, j As Integer, k, m As Integer     Dim begin As Date, eind As Date     Dim duur As String     Dim objSheet As Worksheet     begin = TimeValue(Time)     On Error Resume Next     For Each objSheet In Application.Worksheets         For a = 65 To 66: For b = 65 To 66: For c = 65 To 66             For d = 65 To 66: For e = 65 To 66: For f = 65 To 66                 For g = 65 To 66: For h = 65 To 66: For I = 65 To 66                     For j = 65 To 66: For k = 65 To...

Excel: Creating Your Own Tabs With XML And VBA

In order to create you own nice looking tabs you need the Custom UI Editor for Microsoft Office. You can download it for free. How is this different from choosing File , Options , Customize Ribbon and adding a new tab with new groups and then commands to the group? You can also move the new tab to any position. T hen your new tab is always there. Even when you don't open the specific file with the right VBA. In my example the outcome looks like this, a nice tab, placed in front of the Home Tab. You will only get this tab when you start the specific example (which you can download). The XML behind this: <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">    <ribbon startFromScratch="false">     <tabs>       <tab id="MaxIlze" label="Dossier Overzicht" insertBeforeMso="TabHome">         <group id="customGroup1" label="Adressen verrijken">         ...