Avatar billede k_skriver Juniormester
07. september 2011 - 01:23 Der er 2 kommentarer

Excel 'gem og send' som pdf

Hej,
Jeg har forsøgt at indspille en makro, som skal afsende en mail med min excelfil i en PDF udgave.

Excel 2010 har en 'gem og send'-funktion, som virker fint når jeg gør det manuelt, men når jeg indspiller det som en makro og afspiller det igen er det excel-filen der bliver sendt og ikke en PDF-udgave af den.

Min kode ser pt således ud:

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\ks\AppData\Local\Temp\8\tilbud.pdf", Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
    Application.Dialogs(xlDialogSendMail).Show


Håber der er nogen der kan hjælpe :-)
Avatar billede Mads Larsen Nybegynder
07. september 2011 - 10:38 #1
Ser ikke ud til der er en "nem" løsning til det desværre :/

Men hvis du bruger outlook til at sende det, kan du måske få noget hjælp herfra

msdn.microsoft.com/en-us/library/ee834871(v=office.11).aspx

Den smadre desværre linket :-( så du får den lige uden http://
Avatar billede Lene Fredborg Ekspert
07. september 2011 - 14:22 #2
Der findes en masse gode Excel-VBA-sager på følgende side af Ron de Bruin:
http://www.rondebruin.nl/tips.htm


Jeg har lige lavet og testet nedenstående makro.
Makroen bruger følgende funktioner fra http://msdn.microsoft.com/en-us/library/ee834871(v=office.11).aspx (fundet via ovennævnte side)

RDB_Create_PDF (denne funktion opretter en PDF-fil)
RDB_Mail_PDF_Outlook (denne funktion opretter en e-mail med PDF-fil vedhæftet)

For at få min makro til at virke, skal du kopiere de to ovennævnte funktioner fra den linkede side og indsætte dem i VBE i Excel sammen med nedenstående makro:

----------------------------
Sub Excel_CreateAndSendPDF()

    Dim strFileNamePDF As String
   
....'Create PDF-file
    strFileNamePDF = RDB_Create_PDF _
        (Myvar:=ActiveWorkbook, _
        FixedFilePathName:="", _
        OverwriteIfFileExist:=True, _
        OpenPDFAfterPublish:=False)
       
    'Stop if Cancel clicked
    If strFileNamePDF = "" Then Exit Sub
   
    'Create e-mail
    RDB_Mail_PDF_Outlook _
        FileNamePDF:=strFileNamePDF, _
        StrTo:="lf@thedoctools.com", _
        StrSubject:="Dette er emnet", _
        StrBody:="Dette er teksten i selve mailen", _
        Send:=False
End Sub
----------------------------

Makroen vil med de viste indstillinger gøre følgende:
1. Åbner en dialogboks, hvor du bliver bedt om at give PDF-filen et navn og udpege mappen, hvori den skal gemmes.
2. Gemmer den aktive projektmappe som PDF som angivet i 1.
3. Opretter en mail med PDF'en vedhæftet (Til, Emne og indhold i e-mailen kommer fra StrTo, StrSubject og StrBody - ret koden om til den ønskede tekst).
4. Da "Send" er sat til "False" bliver mailen ikke sendt automatisk. Den kommer frem på skærmen, så du kan se den. Hvis "Send" sættes til "True", sendes mailen med det samme.

Nu har du forhåbentlig noget at arbejde videre med.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester