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

inhoud mail aanpassen in macro voor excel file te mailen

Status
Niet open voor verdere reacties.

davylenders123

Gebruiker
Lid geworden
20 jun 2010
Berichten
902
Ik heb een macro voor een excel bestand door te mailen .
Dit is de code
Code:
Const EMBED_ATTACHMENT As Long = 1454
Const vaCopyTo As Variant = "" 'copy mailen naar: "adres"

Sub mail()


 Dim vaRecipients As Variant
  Dim noSession As Object
  Dim noDatabase As Object
  Dim noDocument As Object
  Dim noEmbedObject As Object
  Dim noAttachment As Object

If [interim!H1] = "" Then MsgBox "Je hebt geen week nummer ingevuld in cel h1 !": Exit Sub
If vbNo = MsgBox("Ben je wel zeker dat je die mail wil verzenden", vbYesNo) Then Exit Sub
If vbNo = MsgBox("Heb je lotus notus open staan?", vbYesNo) Then Exit Sub

ActiveSheet.Unprotect Password:="1230"
    Cells.Select
    Selection.Locked = True
    Selection.FormulaHidden = False
    Range("E11").Select
    ActiveSheet.Protect Password:="1230", DrawingObjects:=True, Contents:=True, Scenarios:=True

ActiveWorkbook.SaveAs Filename:=("T:\Mag-Data\Mit pc\davy\uren interim\uren al door gemaild" & "\Uren  Trans - O - Flex Turnhout van week  " & [interim!H1] & ".xls")
stpath = "T:\Mag-Data\Mit pc\davy\uren interim\uren al door gemaild" 'locactie waar bijlage staat
stsubject = "Uren Trans o Flex Turnhout WEEK" & [interim!H1]
[COLOR="darkred"]vamsg = "Goedemorgen, ." & vbCrLf & _
"Bij deze stuur ik u de uren van de interimers van vorige week.," & vbCrLf & _
      "Met Vriendelijke Groeten"[/COLOR]
'mailbody voorzien van gegevens
stfilename = "Dagstaat Magazijniers .xls" 'Bestandsnaam
stattachment = ("T:\Mag-Data\Mit pc\davy\uren interim\uren al door gemaild" & "\Uren  Trans - O - Flex Turnhout van week  " & [interim!H1] & ".xls")
vaRecipients = VBA.Array("lendersdavy@hotmail.com", "davylenders@hotmail.com") 'mailadressen("eerste ontvanger" , "tweede ontvanger", enz.)

                  'Bepaal de Lotus Notes COM's Objecten.
                  Set noSession = CreateObject("Notes.NotesSession")
                  Set noDatabase = noSession.GETDATABASE("", "")
                  
                  'Als Lotus Notes niet open is open dan het mail-gedeelte ervan.
                  If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
                 
                  'Maak de e-mail en de bijlage.
                  Set noDocument = noDatabase.CreateDocument
                  Set noAttachment = noDocument.CreateRichTextItem("stAttachment")
                  Set noEmbedObject = noAttachment.EmbedObject(EMBED_ATTACHMENT, "", stattachment)
                                 
                  'Voeg de gegevens toe aan de gemaakte e-mail eigenschappen.
                  With noDocument
                    .Form = "Memo"
                    .SendTo = vaRecipients
                    .CopyTo = vaCopyTo
                    .Subject = stsubject
                    .Body = vamsg
                    .SaveMessageOnSend = True
                    .PostedDate = Now()
                   .Send 0, vaRecipients
                  End With
                 
                          
                  'Verwijder objecten uit het geheugen.
                  Set noEmbedObject = Nothing
                  Set noAttachment = Nothing
                  Set noDocument = Nothing
                  Set noDatabase = Nothing
                  Set noSession = Nothing
                  
                  MsgBox "De e - mail is correct verstuurd ", vbInformation



End Sub

Ik zou daar graag de inhoud van de mail wat aanpassen maar weet niet goed hoe er aan te beginnen.
Het rode gedeelte in de code is de inhoud van de mail maar zou die graag wat uit elkaar trekken.

Nu zet hij eigenlijk alles tegen elkaar .
Zou graag spaties en wit regels toevoegen maar weet niet goed hoe
 
Laatst bewerkt:
Zie rode gedeelte

Code:
vamsg = "Goedemorgen, ." & vbCrLf & [COLOR="red"]vbCrLf &[/COLOR] _
"Bij deze stuur ik u de uren van de interimers van vorige week.," & vbCrLf &[COLOR="red"] vbCrLf &[/COLOR] _
      "Met Vriendelijke Groeten"

bvCrLf is nieuwe regel beginnen, dus als je er 2 achter elkaar zet (gescheiden door &) krijg je een lege regel.

Niels
 
Zie rode gedeelte

Code:
vamsg = "Goedemorgen, ." & vbCrLf & [COLOR="red"]vbCrLf &[/COLOR] _
"Bij deze stuur ik u de uren van de interimers van vorige week.," & vbCrLf &[COLOR="red"] vbCrLf &[/COLOR] _
      "Met Vriendelijke Groeten"

bvCrLf is nieuwe regel beginnen, dus als je er 2 achter elkaar zet (gescheiden door &) krijg je een lege regel.

Niels

Niels bedankt het werkt zo :thumb:

Heb nog een vraagje :)

Als ik normaal en nieuwe mail stuur dan staat er onderaan een handtekening .(naam adres telefoon email website en logo van het werk)
Als ik via de macro een mail stuur dan staat de handtekening er niet , dan neemt hij gewoon een lege mail.
Is het moggelijk door iets aan de code aan te passen dat hij de handtekening toch onder de mail zet.

Vraag dit omdat het bestand door meerder personen wordt gebruikt en ook gemailt wordt door meerder personen dus dan kan ik het niet bij in de inhoud van de mail zetten in de macro.

Daarom zou ik nog graag hebben dat hij de hantekeing neemt van de persoon die de mail uiteindelijk stuurd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan