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

van exel bestand naar pdf naar email

Status
Niet open voor verdere reacties.

a.burgman

Gebruiker
Lid geworden
22 nov 2004
Berichten
18
Ik wil graag een macro maken om van een exel bestand een pdf bestand te creëren
dat bestand op te slaan met het factuurnummer inhoud a4 in het exel bestand
en vervolgens het pdf bestand als bijlage te zenden naar een email adres.
Het lukt wel onder windows 10 het excel bestand via de print optie naar pdf weg te schrijven, maar dat lukt niet op een Apple.
Ik heb exel 2010
 
Daar zijn voorbeelden te over van te vinden hier, maar Office op een Apple heeft slechts beperkte ondersteuning voor VBA. Dus of dat gaat werken weet ik niet. Een voorbeeld:
Code:
Private Sub CommandButton1_Click()
    Dim Bestand As Variant
    Dim OutApp As Object
    Dim OutMail As Object
    
    Bestand = Environ("TEMP") & "\Factuur_" & Range("A4") & ".pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Bestand
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .To = "iemand@bedrijf.nl"
        .CC = ""
        .BCC = ""
        .Subject = "Dit is het onderwerp"
        .Body = "Bij deze het bestand"
        .Attachments.Add Bestand
        .Display [COLOR="#008000"]'Or .Send[/COLOR]
    End With
    [COLOR="#008000"]'Kill Bestand[/COLOR]
End Sub
 
Laatst bewerkt:
Bedankt voor de reactie.
Als ik een macro maak waarin uw voorgestelde codes worden gekopieerd en ik ga deze macro uitvoeren dan krijg ik de boodschap:
Kan programma code niet uitvoeren in onderbrekingsmodus. Moet ik ergens nog iets aan toevoegen?
 
Het werkt hier prima, maar ik verwacht dat op een Apple de padnotatie anders moet zijn. Deze dus:
Bestand = Environ("TEMP") & "\Factuur_" & Range("A4") & ".pdf"

Geen idee wat dat dan wel moet zijn.
 
Laatst bewerkt:
Draai onderstaande code eens op de MAC en zie in het venster welke het wel moet zijn.
Code:
sub hsv()
msgbox application.pathseparator
end sub
Als het een slash is, dan verander je de backslash in een slash in de code van @edmoor.
 
Dat mag op Windows ook een / zijn in plaats van een \ dus dat is gauw getest :)
 
Ik blijf de zelfde foutmelding houden. Hierbij het bestand Bekijk bijlage emailpdf.xlsm
de macro staat onder ctr j
de pdf factuur moet opgeslagen worden op bureaublad en het email adres is variabel.
Ik hoop dat we eruit komen. Uiteindelijk moet het gaan werken op een apple. Is het in dit verband verstandig over te gaan op exel 2013?
 
Het zal niet uitmaken of je Office 2010 of 2013 gebruikt.
Misschien dat iemand met een Apple er voor je naar kan kijken.
 
Ik zie ook nog geen antwoord op mijn vraag (code).
 
Het bestand dat je plaatste werkt hier goed, al doet CTRL-J hier niets.
 
Als er maar een regeltje is zou dit moeten volstaan.
Code:
Bestand = Environ("TEMP") & application.pathseparator & "Factuur_" & Range("g21") & ".pdf"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan