Avatar billede Pantzer Praktikant
16. marts 2015 - 14:20 Der er 1 kommentar og
1 løsning

Slet aktive fil

Hej!

Jeg håber I kan hjælpe mig lidt. Jeg står med et mindre problem.

Jeg har en Excel fil som jeg bruger som en "master". Ved kørsel af makro i denne fil opretter den en kopi af sig selv.
Efterfølgende skal en medarbejder åbne den kopierede fil og færdigbehandle den. Herefter bliver filen omdannet til en pdf fil.

Alt dette går også helt fint, men mit dilemma opstår, når den kopierede Excel fil skal fjernes/slettes.

Hvordan gør jeg dette, når filen er aktiv?

Ved forsøg på "Kill strFile" får jeg bare en fejl, da en aktiv fil ikke kan slettes. Det hjælper heller ikke med "ActiveWorkbook.Close False" da filen jo allerede eksistere.

Jeg har forsøgt mig med en "KillFile" makro, som åbner en ny Excel fil med en "Workbook_Open" procedure som lukker den anden fil og herefter sletter den. Problemet er, at hvis jeg starter denne kode i den kopierede fil, vil koden blive afbrudt, når denne fil lukkes!

Det er mega frustrerende!
Håber I kan hjælpe, for jeg er løbet lidt tør for idéer...!
Avatar billede Pantzer Praktikant
16. marts 2015 - 14:42 #1
Nevermind. Fandt selv en løsning som virker perfekt! :)

Sub Test()
On Error GoTo err_Handler

    With ActiveWorkbook
        If .Path <> "" Then
            .Saved = True
            .ChangeFileAccess xlReadOnly
            Kill ActiveWorkbook.FullName
            .Close True
        End If
    End With
    Exit Sub

err_Handler:
    MsgBox "Fejlkode: " & Err.Number & vbCrLf & "Kan ikke slette: " & ActiveWorkbook.FullName

Exit Sub
Avatar billede Pantzer Praktikant
16. marts 2015 - 14:43 #2
Ved at omslutte det hele med en "With - End With" ville den godt, så det var super! :)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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