Avatar billede Heltnyidether Novice
11. januar 2017 - 21:42 Der er 6 kommentarer og
2 løsninger

hvordan ændre jeg makroen så jeg kan gemme filen i en bestemt mappe

Hej

Jeg har nedenstående kode som jeg bruger til at lave et bestemt ark i mit regneark om til en pdf o efterfølgende sender den vedhæftet en mail. den gør egentligt alt hvad jeg ønsker undtagen at gemme den i en bestemt mappe. Hvordan løser jeg det?

Sub CreatePDF_attach_to_EMAIL()

    Dim Wkb As String
    Dim tempFilePath As String
    Dim tempFileName As String
    Dim OutApp As Object
    Dim OutMail As Object

Wkb = ThisWorkbook.Name
tempFilePath = Environ$("temp") & "\"
nr = [Rapport!D6]

tempFileName = tempFilePath & nr & ".pdf"

Worksheets("Rapport").ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        tempFileName, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
       
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
    .Display
    End With
        Signature = OutMail.body 'gets the email's standard signature

On Error Resume Next

With OutMail
.To = "" 'can instead be linked to a cell in the excel sheet
.CC = ""
.BCC = ""
.Subject = "Registrering af Nærvedulykke fra " & ActiveWorkbook.Worksheets("Rapport").Range("B4") & " - " & ActiveWorkbook.Worksheets("Rapport").Range("B5")
.body = "Hej" & Chr(10) & Chr(10) & "Se registrering af nærvedulykke på vedhæftet fil." & Chr(10) & Signature
.Attachments.Add tempFileName
.Display
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing

'If Dir(TempFileName) <> "" Then Kill TempFileName 'deletes the created PDF file in the temps-folder
   
End Sub
11. januar 2017 - 22:42 #1
Denne linie giver dig en sti   
tempFilePath = Environ$("temp") & "\"   
så måske noget alla dette
tempFilePath = "C:\Projekt\Ulykker\"
Avatar billede Heltnyidether Novice
12. januar 2017 - 07:45 #2
Jeg får en fejlmelding som lyder:
Run time error '1004': Dokumentet blev ikke gemt. Dokumentet kan være åbent, eller der kan være opstået en fejl under lagring.

Det har jeg fået ligegyldigt hvad jeg forsøger at ændre...

Den fremhæver denne linie:

Worksheets("Rapport").ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        tempFileName, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
12. januar 2017 - 08:22 #3
Jeg har svaret på flere ExportAsFixedFormat sprøgsmål i Excel og Word gruppen i løbet af december - måske du kan sammenligne med dem. Jeg har lidt travlt i dag, og kommer ikke til at kigge nærmere på dette.
indeholder tempFileName det du forventer?
får du det rigtige ind i "nr" ?
Avatar billede Heltnyidether Novice
12. januar 2017 - 08:29 #4
Ja tempFileName gør det jeg forventer og det er det rigtige jeg får ind i "nr", jeg kan bare ikke få den til at gemme den andre steder end i temp...
12. januar 2017 - 08:40 #5
Prøv at hent demoen "Create PDF" herfra...  http://www.smartoffice.dk/Tips/Eksperten/Index.asp se om du bliver klogere på din egen løsning af den, og om du kan få den til at gemme
Avatar billede Heltnyidether Novice
12. januar 2017 - 15:14 #6
Jeg kan ikke helt finde ud af det ud fra linket... Så jeg står stadig med fejlmeldingen...
12. januar 2017 - 16:21 #7
Har ikke lige noget godt svar - koden ser OK ud
Avatar billede Heltnyidether Novice
13. januar 2017 - 13:59 #8
Tusind tak for hjælpen smartoffice_dk. det var en fejl 40, hvor jeg havde skrevet det forkerte drev.
Jeg har fået den til både at lave pdf. filen, gemme den hvor jeg vil have den, lave mailen, medtage mailadresse fra celle og sende den automatisk. Hvis nogen er interesseret lægger jeg koden her.

Sub CreatePDF_attach_to_EMAIL()

    Dim Wkb As String
    Dim FilePath As String
    Dim FileName As String
    Dim OutApp As Object
    Dim OutMail As Object

Wkb = ThisWorkbook.Name
FilePath = "M:\APV, nærved-ulykke\Nærved-ulykker 2017\" 'hvor filen gemmes
Afdeling = [Rapport!B6]                                'cellen hvor afdelingens navn er i
nr = [Rapport!D8]                                      'cellen hvor dato for hændelse er i
Modtager = [Rapport!D6]                                'cellen hvor mailadressen for teamlederen er i

FileName = FilePath & Afdeling & " " & nr & ".pdf"

Worksheets("Rapport").ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        FileName, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
       
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
    .Display
    End With
        Signature = OutMail.Body 'Indsætter mailens standard signatur

On Error Resume Next

With OutMail
.To = "AB@kajbech.dk;" & Modtager
.cc = ""
.BCC = ""
.Subject = "Registrering af Nærvedulykke fra " & ActiveWorkbook.Worksheets("Rapport").Range("B6") & " - " & ActiveWorkbook.Worksheets("Rapport").Range("B7")
.Body = "Hej" & Chr(10) & Chr(10) & "Se registrering af nærvedulykke på vedhæftet fil." & Chr(10) & Signature
.Attachments.Add (FileName)
.Display '.send
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing

'If Dir(TempFileName) <> "" Then Kill FileName 'Hvis dette aktiveres slettes filen efter afsendelse
   
End Sub
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

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