• 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 meerdere bijlagen

  • Onderwerp starter Onderwerp starter R Mol
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

R Mol

Gebruiker
Lid geworden
15 okt 2010
Berichten
6
Goedenavond,

Onderstaand een te mailen overzicht van openstaande facturen, waarbij de vervallen facturen automatisch worden meegezonden.
[TABLE="width: 857"]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD="align: left"]
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD]2.797,66 [/TD]
[TD]2.797,66 [/TD]
[TD][/TD]
[TD][/TD]
[TD]1.754,56 [/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]Boekings
datum
[/TD]
[TD]Document
soort
[/TD]
[TD]Document
nr.
[/TD]
[TD]Verval
datum
[/TD]
[TD]Valutacode[/TD]
[TD]Factuur
bedrag
[/TD]
[TD]Openstaand
bedrag
[/TD]
[TD]Faktuur
dagen
[/TD]
[TD]Verval
dagen
[/TD]
[TD]Vervallen
bedrag
[/TD]
[/TR]
[TR]
[TD]05-06-19[/TD]
[TD]Factuur[/TD]
[TD]SVF012416[/TD]
[TD]19-06-19[/TD]
[TD]EUR[/TD]
[TD]1.433,91 [/TD]
[TD]1.433,91 [/TD]
[TD]34 [/TD]
[TD]20 [/TD]
[TD]1.433,91 [/TD]
[/TR]
[TR]
[TD]20-06-19[/TD]
[TD]Factuur[/TD]
[TD]SVF012443[/TD]
[TD]04-07-19[/TD]
[TD]EUR[/TD]
[TD]320,65 [/TD]
[TD]320,65 [/TD]
[TD]19 [/TD]
[TD]5 [/TD]
[TD]320,65 [/TD]
[/TR]
[TR]
[TD]25-06-19[/TD]
[TD]Factuur[/TD]
[TD]SVF012452[/TD]
[TD]09-07-19[/TD]
[TD]EUR[/TD]
[TD]345,00 [/TD]
[TD]345,00 [/TD]
[TD]14 [/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]26-06-19[/TD]
[TD]Factuur[/TD]
[TD]SVF012461[/TD]
[TD]10-07-19[/TD]
[TD]EUR[/TD]
[TD]668,45 [/TD]
[TD]668,45 [/TD]
[TD]13 [/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD]26-06-19[/TD]
[TD]Factuur[/TD]
[TD]SVF012462[/TD]
[TD]10-07-19[/TD]
[TD]EUR[/TD]
[TD]29,65 [/TD]
[TD]29,65 [/TD]
[TD]13 [/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[/TABLE]

Dit overzicht wordt middels een macro vanuit een openstaande postenlijst gegenereerd op tabblad "Email".
Het pad waar de pdf-bestanden staan (staan per maand in een map opgeslagen), staat op tablad "EmailHulp".
Het criterium voor het wel of niet verzenden is of er vervaldagen zijn.
Het gaat goed als er maximaal 3 bestanden gemaild worden. Maar als er 5 bestanden te mailen zijn, wordt alleen het eerste bestand gemaild.

Waarschijnlijk zit er iets niet goed in de macro die ik heb gemaakt.
De code van de macro is:

Code:
Sub Mail_Sheet_Outlook_Body_Met_Bijlage()

Application.ScreenUpdating = False
Sheets("Email").Select

' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2007
    Dim rng As Range
    Dim Bijlage1 As Workbook
    Dim Bijlage2 As Workbook
    Dim Bijlage3 As Workbook
    Dim Bijlage4 As Workbook
    Dim Bijlage5 As Workbook
    
    Dim OutApp As Object
    Dim OutMail As Object
    
    Dim myBijlage1 As String
    Dim myBijlage2 As String
    Dim myBijlage3 As String
    Dim myBijlage4 As String
    Dim myBijlage5 As String
    
    
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With
 
    myBijlage1 = Range("Email!C13").Value
    myBijlage2 = Range("Email!C14").Value
    myBijlage3 = Range("Email!C15").Value
    myBijlage4 = Range("Email!C16").Value
    myBijlage5 = Range("Email!C17").Value
    
 
    Set rng = Nothing
    Set rng = ActiveSheet.UsedRange

    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
    Set OutMail = OutApp.CreateItem(0)
    
'Laden bijlagen
  'Bijlage 1:
    Set Bijlage1 = Workbooks.Open(Range("EmailHulp!O13"))
    
    
  'Bijlage 2:
    On Error Resume Next
    Windows("Kopie van Debiteurenbeheer - activiteiten.xlsm").Activate
    If Range("Email!J14") = "" Then
    Else
        Set Bijlage2 = Workbooks.Open(Range("EmailHulp!O14"))
    End If
    
  'Bijlage 3:
    On Error Resume Next
    Windows("Kopie van Debiteurenbeheer - activiteiten.xlsm").Activate
    If Range("Email!J15") = "" Then
    Else
        Set Bijlage3 = Workbooks.Open(Range("EmailHulp!O15"))
    End If
    
  'Bijlage 4:
    On Error Resume Next
    Windows("Kopie van Debiteurenbeheer - activiteiten.xlsm").Activate
    If Range("Email!J16") = "" Then
    Else
        Set Bijlage4 = Workbooks.Open(Range("EmailHulp!O16"))
    End If
    
  'Bijlage 5:
'    On Error Resume Next
'    Windows("Kopie van Debiteurenbeheer - activiteiten.xlsm").Activate
'    If Range("Email!J17") = "" Then
'    Else
'        Set Bijlage5 = Workbooks.Open(Range("Email!O17"))
'    End If
    

 
    On Error Resume Next
    With OutMail
        .To = Range("EmailHulp!O7").Value
        .CC = ""
        .BCC = ""
        .Subject = "Overzicht openstaande en vervallen facturen."
        .HTMLBody = RangetoHTML(rng)
        
'Toevoegen bijlagen:
    'Bijlage 1:
        .Attachments.Add Bijlage1.FullName
        
    'Bijlage 2:
        If Range("Email!J14") = "" Then
        Else
            .Attachments.Add Bijlage2.FullName
        End If
        
    'Bijlage 3:
        If Range("Email!J15") = "" Then
        Else
            .Attachments.Add Bijlage3.FullName
        End If
        
    'Bijlage 4:
        If Range("Email!J16") = "" Then
        Else
            .Attachments.Add Bijlage4.FullName
        End If
        
    'Bijlage 5:
        If Range("Email!J17") = "" Then
        Else
            .Attachments.Add Bijlage5.FullName
        End If
                
        .Display    'Send
        
    End With
    On Error GoTo 0
 
 
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
 
'Sluiten bestanden bijlagen:
  'Bijlage 1
    Workbooks(myBijlage1 & ".pdf").Close savechanges:=False
    
  'Bijlage 2
    On Error Resume Next
        Workbooks(myBijlage2 & ".pdf").Close savechanges:=False
    
  'Bijlage 3
    On Error Resume Next
        Workbooks(myBijlage3 & ".pdf").Close savechanges:=False
    
  'Bijlage 4
    On Error Resume Next
        Workbooks(myBijlage4 & ".pdf").Close savechanges:=False
    
  'Bijlage 5
'    On Error Resume Next
'        Workbooks(myBijlage5 & ".pdf").Close savechanges:=False
    
    
    MsgBox ("De mail wordt verzonden")
 
    Set OutMail = Nothing
    Set OutApp = Nothing
    
'    Sheets("Activiteiten").Select
    
End Sub

Kan iemand aangeven wat ik moet wijzigen, zodat ik meerdere bestanden kan meezenden?

Rien Mol
 
Laatst bewerkt door een moderator:
Principe:
Code:
Sub hsv()
Dim sv, i As Long
 With CreateObject("Outlook.Application").CreateItem(0)
    .to = "test@mail.nl"
    .Subject = "Onderwerp"
    .Body = "Geachte heer/mevrouw,"
    sv = Cells(1).CurrentRegion
      For i = 2 To UBound(sv)
        If sv(i, 4) <> "" Then .Attachments.Add "c:\users\RMOL\documents" & sv(i, 3) & ".pdf"
      Next i
    .Display
 End With
End Sub
 
Reactie van TS in mijn mail.
Ik heb je script geprobeerd.
Ik krijg echter bij "For i = 2 To UBound(sv)" een foutmelding. Hij geeft aan "de typen komen niet met elkaar overeen"


Graag reageren in het topic, niet via mail.
 
Ik had wel gezien dat er zich regels bovenaan bevonden en de currentregion niet op cells(1) begint,

Maar dat krijg je als je i.p.v. een Excel-bestand het hele bestand wilt nabootsen op het forum.
Het was ook 'Principe'.
 
Bedankt Harry voor de aanvulling.
Ik ga wat puzzelen.

mvg
Rien
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan