bijlage wordt niet toegevoegd in email.

Status
Niet open voor verdere reacties.

Abel Visscher

Gebruiker
Lid geworden
28 mei 2007
Berichten
171
Beste forummers,

Ik heb een probleem waar ik al twee dagen met tussenposen mee bezig ben. ik probeer van een range in een excelblad een pdf bestand te maken en deze in een map structuur op te slaan. dat gaat allemaal goed.
Nu wil ik dat zelfde pdfbestand als bijlage versturen via outlook. Dat gaat niet goed, d.w.z. dat de pdf bijlage niet in de mail verschijnt.
Outlook opent wel e.d.
Ik heb diverse codes opgezocht en geprobeerd, maar ik geraak er niet uit. De code die ik heb geeft geen foutmelding en het pad in hfd is goed net als het bestand in bestandsnaam.
Wie kan mij verder helpen?
Dit is de code voor zover.

Code:
Sub PdfMakenEnOpslaanInMap1()
    Dim BestandsNaam As String
    Dim Map As String
    Dim Hfd As String
    Dim i As Byte
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    Range("H3").Select
    ActiveSheet.PageSetup.PrintArea = "$B$2:$M$61"
    With ActiveSheet.PageSetup
        .LeftMargin = Application.InchesToPoints(0.7)
        .RightMargin = Application.InchesToPoints(0.5)
        .TopMargin = Application.InchesToPoints(0.3)
        .BottomMargin = Application.InchesToPoints(0.3)
        
    End With
    'ActiveWindow.SelectedSheets.PrintOut Copies:=1
    
    Hfd = ActiveWorkbook.Path & ""
    For i = 1 To 4
        Map = Hfd & "" & Cells(i, 15).Value
        If Dir(Map, vbDirectory) = "" Then
            MkDir (Map)
        End If
        Hfd = Map & ""
    Next i
    
    BestandsNaam = ActiveSheet.Range("B1").Value
    ActiveSheet.Range("B2:M61").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Hfd & BestandsNaam, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
    
    
    On Error Resume Next
    With OutMail
        .To = Range("O18").Value
        .CC = ""
        .BCC = ""
        .Subject = ActiveSheet.Range("B5") & " voor " & ActiveSheet.Range("B15")
        .Body = ""
        
        .Attachments.Add = Hfd & BestandsNaam & ".pdf"
        .display
        
    End With
    

    Set OutMail = Nothing
    Set OutApp = Nothing
    
End Sub
 
Haal eerst die On Error Resume Next er eens uit.
Dan zal je vast een foutmelding krijgen die een aanwijzing geeft voor wat er aan de hand is.
 
Laatst bewerkt:
Beste Edmoor,

Ja, klopt hij geeft nou een tenminste een fout aan nl. in de regel

Code:
.Attachments.Add = Hfd & BestandsNaam & ".pdf"

Als ik de controle uitvoer op zowel hfd en bestandsnaam klopt de inhoud wel maar toch gaat het fout.
Moet ik het op een andere manier koppelen?

Groet,
Abel
 
Wandel met <F8> even door de code heen en kijk welke waarden de variabelen krijgen. Daar vindt je dan de oplossing.
 
VenA,

Heb ik gedaan en volgens mij krijgen alle variabelen een waarde, alleen outmail krijgt geen waarde, moet ie dat wel hebben dan?
En zoals eerder gezegd het pad en bestandsnaam zijn ook goed.
Ik zie het niet, maar ben hier ook geen ster in.
 
Hier.....
Code:
Filename:=Hfd & BestandsNaam
exporteer je het als Pdf, zonder de toevoeging ".pdf".

Hier....
Code:
.Attachments.Add = Hfd & BestandsNaam & ".pdf"
Wil je het bestand oproepen die niet bestaat met de toevoeging ".pdf".
 
Je hebt dit staan:
.attachments.Add = Hfd & BestandsNaam & ".pdf"

Daar hoort dat = teken niet in en moet dus dit zijn:
.attachments.Add Hfd & BestandsNaam & ".pdf"
 
Ook de mappenstructuur was niet goed (dubbele backslashes).
Code:
Sub PdfMakenEnOpslaanInMap1()
    Dim BestandsNaam As String
    Dim Map As String
    Dim Hfd As String
    Dim i As Long
    
    Hfd = ThisWorkbook.Path
    For i = 1 To 4
        Map = Hfd & "\" & Cells(i, 15).Value
        If Dir(Map, vbDirectory) = "" Then
            MkDir (Map)
        End If
        Hfd = Map
    Next i
    
    BestandsNaam = Range("B1").Value
    Range("B2:M61").ExportAsFixedFormat 0, Hfd & "\" & BestandsNaam & ".pdf"
    
    With CreateObject("Outlook.Application").CreateItem(0)
        .To = Range("O18").Value
        .CC = ""
        .BCC = ""
        .Subject = ActiveSheet.Range("B5").Value & " voor " & Range("B15").Value
        .Body = ""
        .attachments.Add Hfd & "\" & BestandsNaam & ".pdf"
        .display
        
    End With
 End Sub
 
Laatst bewerkt:
Export naar PDF voegt zelf de extensie .pdf al toe.
 
@Edmoor
@HSV

Bedankt maar weer voor jullie bijdragen. Het werkt!!
Ga ik weer verder met de ontwikkeling van het geheel.
Wellicht tot een volgende keer.
Nogmaals dank.

Groet,n uut Grunn
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan