Avatar billede Palle Dahl Juniormester
16. januar 2023 - 23:04 Der er 2 kommentarer

Omdøb PDF filnavn

Jeg har nedenstående Outlook VBA kode som udfylder emnefelt og bodytekst i en e-mail, baseret på navn(e) på en eller flere vedhæftede pdf-filer i mailen.

(dette virker ganske fint!)

Sidste del af koden skal tjekke om de vedhæftede filer fortsat befinder sig i en Folder på vores netvæksdrev ("\\RackStation\") og i så fald ændre filnavnet på hver fil med tilføjelen "_sendt.pdf"

Dette virker knapt så fint!?
Tjekket på om filerne er til stede i Folderen virker fint, men jeg kan ikke omdøbe filnavnene? (med Name FilePath As newFilePath)

Er der evt. et kvikt hoved som kan gennemskue hvorfor koden ikke omdøber mine filer ???
 

Sub _FAKTURA()

Dim Item As Outlook.MailItem
Dim oInspector As Inspector
Dim strSubject As String
Dim strAttachFN As String
Dim ItemCount As Integer
Dim Svar As String
Dim FilNavn As String
Dim FilePath As String
Dim newFilePath As String

On Error GoTo ErrorHandler

Set oInspector = Application.ActiveInspector
    If oInspector Is Nothing Then
        Set Item = Application.ActiveExplorer.Selection.Item(1)
    Else   
        Set Item = oInspector.CurrentItem 
    End If

ItemCount = Item.Attachments.Count 
    strSubject = "" 
    If ItemCount >= 1 Then
        For i = 1 To ItemCount
       
            If Left(Item.Attachments.Item(i).FileName, 7) = "Faktura" Then
                strAttachFN = Extract_Number_from_Text(Mid(Item.Attachments.Item(i).FileName, 8, 7))
                strSubject = strSubject & strAttachFN & "; "
           
            End If
       
            If Left(Item.Attachments.Item(i).FileName, 10) = "Kreditnota" Then
                strAttachFN = Extract_Number_from_Text(Mid(Item.Attachments.Item(i).FileName, 8, 10))
                strSubject = strSubject & strAttachFN & "; "
            End If

'--------

        FilePath = "\\RackStation\Dokumenter\PDF Print Indbakke\TEST\"
        FilNavn = Item.Attachments.Item(i).FileName

            If Left(Item.Attachments.Item(i).FileName, 7) = "Faktura" Then
           
                If Dir(FilePath & FilNavn) <> "" Then 
                    FilNavn = Left(FilNavn, Len(FilNavn) - 4)
                    newFilePath = FilePath & "NEW\" & FilNavn & "_sendt.pdf"
                   
                  'Omdøb fil
                    Name FilePath As newFilePath   
                Else                   
                    MsgBox ("filen findes ikke") 
                End If

            End If

'-----------

        Next i
     
        Item.Subject = "Faktura/kreditnota " & Left(strSubject, Len(strSubject) - 2) & " fra MIN_VIRKSOMHED"
        Item.HTMLBody = "<FONT face = Arial size = 3>Vedhæftet fremsendes hermed " & Item.Subject & "<br><br>" & Item.HTMLBody
       
        Set Item = Nothing
        Set oInspector = Nothing

    Else
   
        MsgBox ("Du har ingen vedhæftede faktura-filer. Vedhæft mindst én faktura, og prøv igen!")
   
    End If
   
ErrorHandler:

End Sub
Avatar billede martens Guru
20. januar 2023 - 06:27 #1
Umiddelbart ser det det ud til at du vil omdøbe FilePath og ikke FileName....
Avatar billede martens Guru
20. januar 2023 - 06:32 #2
Eller hvad med

newFilePath = FilePath & "\NEW\" & FilNavn & "_sendt.pdf"
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