• 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.

Mailen uit excel, maar loopt vast

Status
Niet open voor verdere reacties.

Bertus78

Gebruiker
Lid geworden
17 aug 2017
Berichten
209
Wie kan en wil mij even helpen.

Code:
'mailen
    Dim OutApp As Object
    Dim OutMail As Object
    Dim BodyText As String
    With Sheets("Steekproef")
    BodyText = "Beste " & .Range("E15") & "," & vbLf & vbLf & _
                "In onze administratie komt het voertuig wat door uw afdeling word gebruikt naar voren voor een steekproef. " & vbLf & _
                "Gaarne verzoek ik u om het document wat als bijlage is bijgevoegd in te vullen." & vbLf & _
                "Onder het kopje ritopmerking kan u de ritgegevens verklaren." & vbLf & _
                "Zou u dit spoedig kunnen invullen dan wel binnen 5 werkdagen en dit retour willen sturen naar email adres. "& vbLf & vbLf & _
                "Aanleiding" & vbLf & _
               End With
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
       .To = .Range("E16")
       .Subject = "Steekproef voertuig"
       .Body = BodyText
       .Send
    End With
  End If
End If

Ik wil een hele brief mailen (dit is nog maar een klein stukje.
Dit wat hier boven staat is mij geleerd, echter krijg ik een foutmelding.
Wat gaat er fout, ik krijg het niet voor elkaar
Ik krijg de foutmelding bij BODYTEXT= met de brief tot de laatste zin van de brief.
 
Krijg je een foutmelding of blijft de tekst rood. Ik denk sowieso het tweede, want :
Code:
'mailen
    Dim OutApp As Object
    Dim OutMail As Object
    Dim BodyText As String
    With Sheets("Steekproef")
    BodyText = "Beste " & .Range("E15") & "," & vbLf & vbLf & _
                "In onze administratie komt het voertuig wat door uw afdeling word gebruikt naar voren voor een steekproef. " & vbLf & _
                "Gaarne verzoek ik u om het document wat als bijlage is bijgevoegd in te vullen." & vbLf & _
                "Onder het kopje ritopmerking kan u de ritgegevens verklaren." & vbLf & _
                "Zou u dit spoedig kunnen invullen dan wel binnen 5 werkdagen en dit retour willen sturen naar email adres. "& vbLf & vbLf & _
                "Aanleiding" & vbLf [COLOR="#FF0000"]& _[/COLOR]
               End With
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
       .To = .Range("E16")
       .Subject = "Steekproef voertuig"
       .Body = BodyText
       .Send
    End With
  End If
End If

Het rode stukje klopt niet! haal dat er eens uit.
 
Ja, klopt, ik krijg een rood stukje te zien.
Als ik dat verwijder dan werkt het inderdaad, Bedankt ik zie de fout ook al.

Is dit eigenlijk het kortst om het op te schrijven.
Kan het niet korter zonder & vbLf & _ ?
 
VbLF zorgt voor overgang naar volgende regel in je mail. _ Voor voortzetting van je code op nieuwe regel. Die kan je niet echt missen in je code.
 
Laatst bewerkt:
Bedankt, een duidelijke uitleg.
Maar nu krijg ik een tekst "Te veel regelvervolgtekens."
Ik ga er dus vanuit dat er een max is voor een grote van de tekst voor je email.
Kan ik dat onderduiken?
 
Je kan het ook zo proberen.
Maak een tabblad aan vb genaamd body
Typ uw brief in vb A1 tot A...
Iedere cell is een andere lijn in uw mail body
Code:
  For Each cell In ThisWorkbook.Sheets("[COLOR="#0000FF"]body[/COLOR]").Range("[COLOR="#0000FF"]A1:A60[/COLOR]")
           BodyText = BodyText & cell.Value & vbNewLine
        Next
        .body =BodyText
 
Laatst bewerkt:
Waar voeg ik dat tussen?
Code:
'mailen
    Dim OutApp As Object
    Dim OutMail As Object
    Dim BodyText As String
      For Each cell In ThisWorkbook.Sheets("body_1").Range("A1:B60")
           BodyText = BodyText & cell.Value & vbNewLine
Next
 .body =BodyText
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        With Sheets("Steekrpoef")
       .To = Range("E16")
       .Subject = "Steekproef voertuig"
       .body = BodyText
       .Send
        End With
    End With
End If

Ik heb het zo.... maar dan krijg ik een foutmelding op .body =BodyText
 
Laatst bewerkt:
Neen je moet in één kolom blijven met je body tekst.
Zie werkend vbtje.
 

Bijlagen

  • mail meerdere zonder bijlage.xlsm
    26,7 KB · Weergaven: 59
Mooi en duidelijk, daar kom ik wel uit.
Wel nog een vraag.
Ik zou dan in de tekst een naam willen gebruiken.
Bijvoorbeeld "beste kees"
Hoe doe ik dat als ik maar 1 kolom cel mag gebruiken?
 
Iets in die richting?
Zie vbtje.
 

Bijlagen

  • Mailen met knop en invullen naam.xlsm
    48,5 KB · Weergaven: 45
U helpt mij super,

Kan ik ook een automatisch bijlage invoegen met dit systeem?
 
Kan ik ook een automatisch bijlage invoegen met dit systeem?

Ja dat kan PDF of excel sheet.
Ik zal je bestandje eens bekijken, je krijgt een voorzetje van mij terug.
 
Werkend vbtje
 

Bijlagen

  • Voertuigenbeheer vraag.xlsm
    971,9 KB · Weergaven: 68
Super,

Ik ben er nog mee aan het knoeien, kom er nog niet helemaal uit.
Ik laat wat weten, alvast super bedankt.
 
Jaaaa, Gelukt.

Bedankt echt super.
Bedankt voor je tijd en de goede uitleg.

Gr. Bertus
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan