• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Excel naar Outlook met VBA, berichten aanmaken en opslaan

Status
Niet open voor verdere reacties.

Gert Bouwmeeste

Verenigingslid
Lid geworden
28 nov 2007
Berichten
827
Goedemiddag :cool:

Ik wil vanuit mijn Excel-bestand met een VBA-macro mailtjes versturen naar de leden van de vereniging. Dat zijn er zo'n 220.

Ik wil niet dat die mailtjes meteen verzonden worden maar ik wil dat ze aangemaakt worden en op het scherm getoond.

Ik wil deze macro gebruiken, die heb ik in een antwoord van VenA. Ik weet alleen niet hoe ik m moet "ombouwen" zodat hij ook in mijn bestand draait. Simpel gezegd, iedereen die een mailadres heeft in kolom L moet een mailtje krijgen. Dat mailtje moet op het scherm gezet worden (.Display) en opgeslagen in de map "Concepten" van Outlook.


Code:
Sub VenA()
  With Sheets("Blad1").ListObjects(1)
    ar = .DataBodyRange.Formula
    ar1 = .HeaderRowRange
    For j = 1 To UBound(ar)
      y = Application.Max(0, DateDiff("m", Date, ar(j, 3)))
      If y < 24 Then
        x = UBound(ar, 2) - y \ 6
        If ar(j, x) = "" Then
          ar(j, x) = Date
          With CreateObject("Outlook.Application").CreateItem(0)
            .To = ar(j, x - 4)
            .Subject = ar1(1, x - 4)
            .display
          End With
        End If
      End If
    Next j
    .DataBodyRange = ar
  End With
End Sub

Zie bijgaand voorbeeldbestand.

Iemand een idee?
 

Bijlagen

http://www.snb-vba.eu/VBA_Outlook_external.html#L_3.1.1
voor/na die ".display" moet nog een regel ".save" toevoegen zodat je mail naar de concepten gaat.

Daarnaast zou je kunnen groeperen, bijvoorbeeld per 20, dan blijven er maar 11 mails meer over.
Die mailadressen zou je dan in de CC of de BCC kunnen zetten (en jezelf als gewone ontvanger).
 

Bijlagen

Laatst bewerkt:
Gebruik dit in plaats van .Display:
Code:
.Close olSave
Dan staan ze in je Drafts folder.
 
Laatst bewerkt:
@Edmoor, @Cow18,

Dank je wel voor jullie antwoorden.

Het toevoegen van ".Close" is logisch. Ik heb dat in "mijn eigen macro" toegevoegd en inderdaad, dat doet wel wat. De oplossing van @Edmoor is ongetwijfeld goed maar kan ik niet volgen. Ik begrijp niet wat daar allemaal gebeurt.
Ik ga dit topic sluiten en een nieuwe openen. Daar zal ik een uitgebreider voorbeeldbestand met 'Mijn eigen macro" neerzetten. Hopelijk kan iemand daar iets mee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan