Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 9 van 9

Onderwerp: Bulk email vanuit Excel met bijlage en handtekening met afbeelding

  1. #1
    Junior Member
    Geregistreerd
    23 april 2020
    Vraag is niet opgelost

    Bulk email vanuit Excel met bijlage en handtekening met afbeelding

    Goedemiddag,

    Graag wil vanuit een Excel lijst met hierin Aan, CC, Onderwerp, Bericht en Pad naar bijlage vermeld een bulk email versturen. Inmiddels heb ik de signature met afbeelding in de mail kunnen toevoegen, maar er gebeuren dingen vanuit de macro die niet bedoeling zijn . Ben al een paar weken aan het stoeien, maar ik krijg het niet voor elkaar.

    Code:
    Sub Send_Email_with_Signature()
    
    Dim Outlook_App As Object
    Dim msg As Object
    Dim sign As String
    
    Dim sh As Worksheet
    Dim i As Integer
    Dim last_row As Integer
    
    
    Set sh = ThisWorkbook.Sheets("Sheet1")
    
    Set Outlook_App = CreateObject("Outlook.Application")
    Set msg = Outlook_App.createitem(0)
    
    msg.display
    
    sign = msg.htmlbody
    
    For i = 3 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
        With msg
            .To = sh.Range("A" & i).Value
            .CC = sh.Range("B" & i).Value
            .Subject = sh.Range("C" & i).Value
            .htmlbody = "Test" & sign
            .attachments.Add sh.Range("E" & i).Value
            
            If sh.Range("E" & i).Value <> "" Then
            
            End If
            
            .display
        End With
    Next i
    
    End Sub
    Uitvoer van de macro in het testbestand (zonder juist gedefinieerd pad voor bijlage) geeft een email van regel 3 (onderwerp 2) zonder bijlage.
    Uitvoer van de macor in het testbestand met een juist gedefinieerd pad voor bijlage geeft een email van regel 4 (onderwerp 3) met bijlage van Onderwerp 2 en 3 (C: Pad2 en C: Pad3).

    Ik zou graag per regel een email naar de juiste afzender met de juiste bijlage en het onderwerp/tekst van de email in Excel gedefinieerd, op mijn beeldscherm zien, zodat ik deze kan checken en zelf (handmatig) kan verzenden.

    Wie kan mij helpen om de VBA code te fine-tunen?
    Bijgevoegde bestanden Bijgevoegde bestanden

  2. #2
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Weken aan het stoeien en dan een bestand plaatsen zonder code? Wat je precies wil is mij niet duidelijk maar de code kan wel wat eenvoudiger.

    Code:
    Sub VenA()
      ar = Sheets("Sheet1").Cells(1).CurrentRegion
      For j = 2 To UBound(ar)
        With CreateObject("Outlook.Application").createitem(0)
          c00 = .htmlbody
          .to = ar(j, 1)
          .cc = ar(j, 2)
          .Subject = ar(j, 3)
          .htmlbody = c00
          If ar(j, 5) <> "" Then
            If Dir(ar(j, 5)) <> "" Then .attachments.Add ar(j, 5)
          End If
          .display
        End With
      Next j
    End Sub
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  3. #3
    Junior Member
    Geregistreerd
    23 april 2020
    VenA, bedankt voor je reactie. Wilde het bestand aangemaakt in mijn werkomgeving, vanuit mijn prive omgeving aanmaken en uploaden. In de haast is de code verloren gegaan, excuus hiervoor.

    Je code maakt inderdaad 3 mailtjes aan met juiste ontvanger, onderwerp en bijlage, super!

    De 'body' (tekst in email) en de handtekening (.htmlbody) worden echter niet weergegeven in mail (In Outlook staat mijn signature ingesteld om in nieuwe berichten weer te geven). Dit is wel gewenst. Heb
    Code:
    .body = ar(j, 4)
    toegevoegd (zie onderstaand), maar dit geeft niet het gewenste resultaat voor de tekst in de mail.

    Hopelijk heeft iemand hiervoor nog een oplossing. Tot zover al heel erg bedankt!


    Code:
    Sub VenA()
      ar = Sheets("Sheet1").Cells(1).CurrentRegion
      For j = 2 To UBound(ar)
        With CreateObject("Outlook.Application").createitem(0)
          c00 = .htmlbody
          .to = ar(j, 1)
          .cc = ar(j, 2)
          .Subject = ar(j, 3)
          .body = ar(j, 4)
          .htmlbody = c00
          If ar(j, 5) <> "" Then
            If Dir(ar(j, 5)) <> "" Then .attachments.Add ar(j, 5)
          End If
          .display
        End With
      Next j
    End Sub

  4. #4
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Inmiddels heb ik de signature met afbeelding in de mail kunnen toevoegen
    Dan moet je maar even kijken hoe je dat gedaan hebt.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  5. #5
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    9 september 2000
    Locatie
    Zuid-Holland
    Voor de handtekening staat de .Display op de verkeerde plek:
    Code:
    Sub VenA()
      ar = Sheets("Sheet1").Cells(1).CurrentRegion
      For j = 2 To UBound(ar)
        With CreateObject("Outlook.Application").createitem(0)
          .Display
          c00 = .htmlbody
          .to = ar(j, 1)
          .cc = ar(j, 2)
          .Subject = ar(j, 3)
          .htmlbody = c00
          If ar(j, 5) <> "" Then
            If Dir(ar(j, 5)) <> "" Then .attachments.Add ar(j, 5)
          End If
        End With
      Next j
    End Sub
    Laatst aangepast door edmoor : 8 oktober 2021 om 21:53
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  6. #6
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Iets te hard gesnoeid blijkbaar.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  7. #7
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    9 september 2000
    Locatie
    Zuid-Holland
    Te enthousiast

    Daarnaast zou ik ieder bericht nog afsluiten met een .Close olSave
    Dan staan al die mails niet op het beeldscherm maar in de Drafts folder in Outlook.
    Laatst aangepast door edmoor : 9 oktober 2021 om 14:49
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  8. #8
    Junior Member
    Geregistreerd
    23 april 2020
    VenA en edmoor, bedankt voor jullie oplossing! Ik heb een extra fijn weekend nu

  9. #9
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    9 september 2000
    Locatie
    Zuid-Holland
    Nog een kleine aanpassing in #7 gedaan.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren