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

Versturen e-mails met attachements vanuit excel

  • Onderwerp starter Onderwerp starter jog
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jog

Gebruiker
Lid geworden
4 mrt 2009
Berichten
69
Hallo,

vooraleer zelf uren te spenderen om uit te zoeken hoe dit moet, wil ik eerst en vooral het probleem aan jullie voorleggen.

Voor de muziekvereniging wordt er door de dirigent een verdeling van de stukken gemaakt via bijgevoegde excel-file.
Tot op heden werden de partituren door iemand afgedrukt en in de mapjes van de muzikanten gestoken en verdeeld.

Op TAB "Verdeling stukken" zie je bv. dat Persoon A door de dirigent voor Partij 1, partituur met naam 01.aaaa heeft toegewezen gekregen en voor Partij 2, 04. dddd
Dan werd er onder TAB "afdrukken" een overzicht gemaakt van hoeveel personen een bepaalde partituur moesten krijgen en in welke (fysieke)mappen die moesten gestoken worden.

GEGEVEN:

- verdeling is gemaakt zoals hierboven beschreven
- ik heb PDF-files in een map staan met identieke naam als op TAB "verdeling stukken" Map=Partij 1 met hierin PDF's 01. aaaa.PDF, 02. bbbbPDF, ....
- ik gebruik Thunderbird als e-mail client

VRAAG:

is het mogelijk om met vba vanuit excel een mail te sturen naar bv. persoon A met als attachement file met naam 01. aaaa.PDF uit map met naam "Partij 1"?

Ik hoop dat dit wat duidelijk is!?

Alvast bedankt,
Johan

Bekijk bijlage Verdeling voorbeeld.xlsm
 
Hoi,
Hierbij een excel mail , blad 1 (excel bestand) is de bijlage. In het blad Kies kies je de emailadressen via ja of neen, de kolom D is de body van uw email. de bijlage kan nog ingesteld worden als txt ipv van excel maar gezien ik muziekkaal ben (ja 2 x k:)) zal je wel een oplossing moeten vinden voor blad 1 als bijlage, om daar een partituur in te krijgen
 

Bijlagen

@gast0660:
- ik gebruik Thunderbird als e-mail client

Als er geen Outlook aanwezig is zal je oplossing niet gaan werken.
 
@ edmoor, klopt, had ik over gekeken, zit al drietal dagen met een griepje en mijn bolleke zit vol met watten
 
Ok. Beterschap gewenst :D

Met Thunderbird kan het overigens wel. Je zal dan een commandline string met de benodigde informatie moeten samenstellen en via de VBA Shell() functie uitvoeren. De commandline syntax van Thunderbird staat hier beschreven:
http://kb.mozillazine.org/Command_line_arguments_(Thunderbird)
 
Hoi edmoor, dank u voor de aanvulling en uw begrip:thumb:
 
Beste,

allebei bedankt voor de snelle reactie, maar dit is niet echt wat ik bedoel.

Ik heb het proberen duidelijk te maken via bijgevoegde bestanden, hopelijk is het nu duidelijker.

Alvast bedankt op hierover mee te denken,

Mvg,
Johan
 

Bijlagen

Laatst bewerkt:
Pas alles eens manueel aan en test dit al eens voordat we gaan automatiseren.
Code:
Sub tst()
    strPath = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"
    strTo = "emailadres"
    strSubj = "Muziekstukken"
    strBody = "Zoals afgesproken de partituur in bijlage"
    strAtt = "G:\Mijn documenten\partituur.pdf"

    strShell = strPath & " -compose """ & "to='" & strTo & "'," & _
        "subject='" & strSubj & "'," & "body='" & strBody & "'," & _
        "attachment=file:///'" & strAtt & "'" & """"
    
    Call Shell(strShell, vbNormalFocus)
End Sub
 
2e kolom met e-mail adressen

Hallo allemaal,

Prachtig bestand om te mailen dat voorbeeld bestand welke werd mee gestuurd (Automatisch mailen.xlsm‎), ik kan het goed gebruiken, maar ik heb nog 2 wensen.
dat zijn een 2e kolom met e-mail adressen welke ook met ja of nee kunnen worden aan of uitgezet kunnen worden en de inhoud van cel E16 op blad KIES als onderwerp in de mail.

Voor mij is deze VBA abracadabra niet weggelegd en heb hierbij echt hulp nodig.

Alvast heel erg bedankt voor een oplossing.

Groet, Peter
 
ik gebruik Thunderbird als e-mail client

Welke e-mail client wil je nu eigenlijk gaan gebruiken ??? Want blijkbaar kan je het bestand van gast0660 (met outlook) ook gebruiken.
Outlook of ThunderBird ???
 
Beste Rudi (warme bakkertje),

sorry, maar ik heb momenteel nog niet de tijd gehad om jou code uit te testen, waar moet die trouwens geplaatst worden.

Wat de emailclient betreft gebruik ik TB, maar heb outlook ook geïnstalleerd.
 
@ jog
Mijn excuses voor mijn nogal botte reactie maar jouw vraag is blijkbaar gekaapt door iemand anders en had dit niet opgemerkt dus mijn reactie was eigenlijk niet naar jou bedoeld.:o
Wat betreft je vraag, deze code plaats je gewoon in een standaardmodule en dan wijzig je de strTo naar een geldig mailadres en de strAtt naar een geldige bijlage alvorens deze te draaien.

@peter
Het is niet netjes om een vraag in iemand anders topic te plaatsen. Dit werkt verwarrend (zoals blijkt) en wordt alles op 1 hoopje gegooid.
Start daarom een eigen vraag en gebruik het voorbeeldbestand hier gegeven dan in je eigen vraag.
 
Hallo,

met onderstaande code lukt het me ;-))))

Ik gebruik hiervoor wel Outlook ipv Thunderbird.

Alleszins bedankt om mij op weg te helpen

:) :d:d :)

Code:
Sub Send_Files()

    ActiveSheet.Range("i2").Copy
    ActiveSheet.Range("g2").PasteSpecial xlPasteValues
    ActiveSheet.Range("e3:e80").Copy
    ActiveSheet.Range("d3:d80").PasteSpecial xlPasteValues
    ActiveSheet.Range("g3:g80").Copy
    ActiveSheet.Range("f3:f80").PasteSpecial xlPasteValues
          Application.CutCopyMode = False
          ActiveSheet.Range("i2").Select

    Dim OutApp As Object
    Dim OutMail As Object
    Dim sh As Worksheet
    Dim cell As Range
    Dim FileCell As Range
    Dim rng As Range
    
    
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With
    Set sh = ActiveSheet
    Set OutApp = CreateObject("Outlook.Application")
    For Each cell In sh.Columns("D").Cells.SpecialCells(xlCellTypeConstants)
        'Enter the path/file names in the C:Z column in each row
        Set rng = sh.Cells(cell.Row, 1).Range("E1:f1")
        If cell.Value Like "?*@?*.?*" And _
           Application.WorksheetFunction.CountA(rng) > 0 Then
            Set OutMail = OutApp.CreateItem(0)
            strSubject = ThisWorkbook.Sheets("Body").Range("a3").Value & ThisWorkbook.ActiveSheet.Range("g2").Value
            strBody = "Beste " & cell.Offset(0, -3).Value & "," & vbNewLine & vbNewLine & ThisWorkbook.Sheets("Body").Range("c3").Value
            
            With OutMail
                .SentOnBehalfOfName = ThisWorkbook.ActiveSheet.Range("d2").Value
                .to = cell.Value
                .CC = ""
                .BCC = ""
                .Subject = strSubject
                .Body = strBody
                For Each FileCell In rng.SpecialCells(xlCellTypeConstants)
                    If Trim(FileCell) <> "" Then
                        If Dir(FileCell.Value) <> "" Then
                            .Attachments.Add FileCell.Value
                        End If
                    End If
                Next FileCell
                .display  'Or use Send
            End With
            Set OutMail = Nothing
        End If
    Next cell
    Set OutApp = Nothing
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan