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

PDF meesturen via email

Status
Niet open voor verdere reacties.

AjaciedNick

Gebruiker
Lid geworden
4 nov 2012
Berichten
129
Ik heb een bestand waar hij van elk tabblad een PDF bestand maakt.
Vervolgens zet hij deze door naar Outlook met de PDF als bijlage.

Nu wil ik dat hij bij aan het adres zet wat in cel F8 staat van elk tabblad.
Ik heb nu bij aan wel het juiste tabblad kunnen krijgen maar cel F8 niet, ik heb vanalles geprobeerd.

Kan je in de macro hem ook meteen laten verzenden? Of kan dit niet?

de c
Code:
Sub PDFemail()
    Pad = "Z:\VCB\Financiele administratie\Facturen\VCB\"
    For Each sh In ThisWorkbook.Sheets
        If sh.Name <> "Voorblad" Then
            If Dir(Pad & sh.Name & ".pdf") <> "" Then
                MsgBox "Het bestand: " & sh.Name & ".pdf bestaat reeds"
            Else
                sh.ExportAsFixedFormat 0, Pad & sh.Name, , , , , OpenAfterPublish:=False
                Err.Number = 0
                On Error Resume Next
                Set OutApp = GetObject(, "Outlook.Application")
                    If Err.Number > 0 Then
                        Set OutApp = CreateObject("Outlook.Application")
                        Err.Clear
                    End If
                On Error GoTo 0
                OutApp.Session.Logon
                Set OutMail = OutApp.CreateItem(0)
                With OutMail
                .To = "" & sh.Name & ""
                .CC = ""
                .BCC = ""
                .Subject = "Factuur VCB"
                .Body = "In de bijlage de factuur voor sponsoring van VCB dit seizoen."
                .Attachments.Add "Z:\VCB\Financiele administratie\Facturen\VCB\" & sh.Name & ".pdf"
                .display
                End With
                Set OutMail = Nothing
                Set OutApp = Nothing
            End If
         End If
    Next sh
End Sub

Voorbeeld:
Bekijk bijlage test.xlsm
 
Laatst bewerkt:
Probeer het eens zo:

Code:
Sub PDFemail()
    Pad = "Z:\VCB\Financiele administratie\Facturen\VCB\"
    For Each sh In ThisWorkbook.Sheets
        If sh.Name <> "Voorblad" Then
            If Dir(Pad & sh.Name & ".pdf") <> "" Then
                MsgBox "Het bestand: " & sh.Name & ".pdf bestaat reeds"
            Else
                sh.ExportAsFixedFormat 0, Pad & sh.Name, , , , , OpenAfterPublish:=False
                Err.Number = 0
                On Error Resume Next
                Set OutApp = GetObject(, "Outlook.Application")
                    If Err.Number > 0 Then
                        Set OutApp = CreateObject("Outlook.Application")
                        Err.Clear
                    End If
                On Error GoTo 0
                OutApp.Session.Logon
                Set OutMail = OutApp.CreateItem(0)
                With OutMail
                .To = [COLOR="#FF0000"]sh.Range("F8").Value[/COLOR]
                .CC = ""
                .BCC = ""
                .Subject = "Factuur VCB"
                .Body = "In de bijlage de factuur voor sponsoring van VCB dit seizoen."
                .Attachments.Add "Z:\VCB\Financiele administratie\Facturen\VCB\" & sh.Name & ".pdf"
                [COLOR="#FF0000"].Send[/COLOR]
                End With
                Set OutMail = Nothing
                Set OutApp = Nothing
            End If
         End If
    Next sh
End Sub
 
Dit:
.Attachments.Add "Z:\VCB\Financiele administratie\Facturen\VCB\" & sh.Name & ".pdf"

Zou ik ook nog wijzigen in dit:
.Attachments.Add Pad & sh.Name & ".pdf"
 
Laatst bewerkt:
Kan ook ja, dankje!

Nog wel iets. Nu pakt hij alle tabbladen, dit is opzich voor mij goed.
Andere willen het ook gebruiken en die verwijderen tabbladen niet makkelijk.

Hoe kan ik zeggen dat hij alle tabbladen <> Voorblad en waar cel A8 gevuld is moet emailen?
Dus als cel A8 = "" dan moet hij deze niet als PDF opslaan en niet emailen
 
Zoiets:
If sh.Name <> "Voorblad" And sh.Range("F8") <> "" Then
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan