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

Vanuit Excel een pdf maken, opslaan en per email verzenden

Status
Niet open voor verdere reacties.

daghengst

Gebruiker
Lid geworden
16 apr 2015
Berichten
32
Ik zou graag voor de inkoop een pdf-bestand willen maken van een bestelformulier en dit willen opslaan maar ook tegelijk via outlook in de mail willen klaarzetten om te verzenden. Deze mail moet worden voorzien van een standaard html handtekening. Ik heb hier gezocht en voorbeelden gevonden en samengevoegd maar ik krijg het nog niet helemaal werkend.

De pdf wordt gemaakt en op het netwerk opgeslagen maar ik krijg die kopie niet in de mail geplaatst. Ook kan ik de handtekening niet toevoegen.

Onderstaand de code zoals ik tot nu toe heb:

Code:
[I]Sub ASD()
'
' ASD Macro
'

'
    ActiveSheet.ExportAsFixedFormat Type:=[B]xlTypePDF[/B], Filename:= _
        "C:\Users\Gebruiker\X\Documenten - Documenten\Documenten\Bestellingen X\Bestelmap Hans\h&s" & ActiveSheet.Range("c14")
    
    Dim OutApp As Object
    Dim OutMail As Object
 [B]   Dim PdfFile As Object[/B]
    Dim MailAdres As String
[COLOR="#FF0000"]    Dim MailBody As String[/COLOR]
    Dim MailOnderwerp As String
    
    MailAdres = Sheets("ASD").Range("h7")
    CC = Sheets("ASD").Range("j10")
    BCC = Sheets("ASD").Range("j11")
    MailOnderwerp = Sheets("ASD").Range("c14")
[COLOR="#FF0000"]    MailBody = "Dit is regel 1 in het bericht" & vbCrLf & _
               "En dit is regel 2" & vbCrLf & _
               "Regel 3 enz...."[/COLOR]
               
               
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .To = MailAdres
        .CC = CC
        .BCC = BCC
        .Subject = MailOnderwerp
        .Body = MailBody
[B]        .Attachments.Add PdfFile[/B]
        .Display
    End With
End Sub[/I]

Bij het vetgedrukte gaat het telkens fout.
Bij het roodgedrukte moet ik nog iets verzinnen met betrekking tot de handtekening.

Wie heeft de oplossing voor mij of kan mij op weg helpen?


Groetjes en - alvast bij voorbaat - dank

Hans
 
Laatst bewerkt door een moderator:
Doe ons (en jezelf) een lol en maak bovenstaande code alsnog op met de CODE tag/knop.
 
Probeer deze eens:
Code:
Sub ASD()
    Dim OutApp As Object
    Dim OutMail As Object

    PdfFile = "C:\Users\Gebruiker\X\Documenten - Documenten\Documenten\Bestellingen X\Bestelmap Hans\h&s" & ActiveSheet.Range("C14")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFnaam
    
    MailAdres = Sheets("ASD").Range("H7")
    CC = Sheets("ASD").Range("J10")
    BCC = Sheets("ASD").Range("J11")
    MailOnderwerp = Sheets("ASD").Range("C14")
    MailBody = "Dit is regel 1 in het bericht" & "<br>" & _
               "En dit is regel 2" & "<br>" & _
               "Regel 3 enz...." & "<br>"
        
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    With OutMail
        .Display
        HTMLPart = .HTMLbody
        .To = MailAdres
        .CC = CC
        .BCC = BCC
        .Subject = MailOnderwerp
        .HTMLbody = MailBody & HTMLPart
        .Attachments.Add PdfFile
        .Display   [COLOR="#008000"]'Of gebruik .Send[/COLOR]
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
 
Laatst bewerkt:
Outlook opent een mailbestand en vult alles exact in maar voegt het bestand niet toe.

Excel geeft foutcode aan: kan het bestand niet vinden.

Vergeten te vermelden is dat C13 een samengevoegde cel is die gegevens uit andere cellen haalt.

Is het ook mogelijk om het bestand, naast het plaatsen in de mail, direct te openen in Acrobat Reader?
 
Je moet uiteraard wel zorgen dat de locatie en naam van het PDF bestand kloppen.
Voor het direct openen na aanmaken van de PDF kan je dit aan die opdracht toevoegen:
Code:
OpenAfterPublish:=True
 
Laatst bewerkt:
Ik heb toch nog een vraag hierover:

Als ik voor verschillende filialen een bestand maak waarbij ieder filiaal een separate map heeft waarin de bestanden worden opgeslagen kan ik niet met de bovenstaande code werken.
Hoe kan ik het beste de code opzetten om te kunnen opslaan in verschillende mappen? Het rood gearceerde deel moet variabel zijn. Ik heb een pulldown menu gemaakt in de sheet voor de verschillende filialen te kiezen. Hierbij had ik ook de variabele paden in een cel gezet om te kiezen maar dit werkt niet.

Code:
Sub ASD()
    Dim OutApp As Object
    Dim OutMail As Object

    PdfFile = [COLOR="#FF0000"]"C:\Users\Gebruiker\X\Documenten - Documenten\Documenten\Bestellingen X\Bestelmap Hans\h&s\"[/COLOR] & ActiveSheet.Range("C14")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFnaam
    
    MailAdres = Sheets("ASD").Range("H7")
    CC = Sheets("ASD").Range("J10")
    BCC = Sheets("ASD").Range("J11")
    MailOnderwerp = Sheets("ASD").Range("C14")
    MailBody = "Dit is regel 1 in het bericht" & "<br>" & _
               "En dit is regel 2" & "<br>" & _
               "Regel 3 enz...." & "<br>"
        
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    With OutMail
        .Display
        HTMLPart = .HTMLbody
        .To = MailAdres
        .CC = CC
        .BCC = BCC
        .Subject = MailOnderwerp
        .HTMLbody = MailBody & HTMLPart
        .Attachments.Add PdfFile
        .Display   'Of gebruik .Send
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
 
zou ik moeten uitzoeken, maar is een "&" een toegestaan karakter ?

Daarnaast, wat is het nu, PdfFile of PDFnaam ?
Code:
[COLOR="#FF0000"]PdfFile[/COLOR] = "C:\Users\Gebruiker\X\Documenten - Documenten\Documenten\Bestellingen X\Bestelmap Hans\h&s\" & ActiveSheet.Range("C14")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=[COLOR="#FF0000"]PDFnaam[/COLOR]
...
  .Attachments.Add [COLOR="#FF0000"]PdfFile[/COLOR]
vervang die PDFnaam even als je die net aangemaakte file wil gebruiken.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan