Avatar billede oyejo Nybegynder
05. september 2003 - 07:50 Der er 17 kommentarer og
2 løsninger

VBA Hvordan kan man slette en exelfil i VBA?

Har et regneark med VBA-kode som åpner tekstfiler og lagrer disse som exel regneark.

Spørsmål: Kan jeg skrive en kode som sletter eller flytter tekstfilen etterpå?

Øyvind
Avatar billede bak Forsker
05. september 2003 - 08:07 #1
prøv med

Kill "c:\textfil.txt"

Indsæt dit eget filnavn
Avatar billede oyejo Nybegynder
05. september 2003 - 08:33 #2
Det fungerte, hva blir koden hvis jeg skal flytte fila til en undermappe?
Øyvind
Avatar billede jkrons Professor
05. september 2003 - 09:14 #3
Prøv med

Set fs = CreateObject("Scripting.FileSystemObject")
fs.movefile "c:\texfil.txt", "c:\undermappe\textfil.txt"
Avatar billede oyejo Nybegynder
05. september 2003 - 09:55 #4
Prøvde med denne koden men fikk feilmelding.

Public Sub Flytte()
Dim strPath As String

  strPath = ThisWorkbook.Path
  ChDir strPath

    Set fs = CreateObject("Scripting.FileSystemObject")
    fs.movefile strPath & "\" & "D13_????.CSV", strPath & "\Dump\" & "D13_????.CSV"

End Sub
Avatar billede jkrons Professor
05. september 2003 - 09:57 #5
Hvilken fejlmelding?
Avatar billede bak Forsker
05. september 2003 - 10:43 #6
OldName = strPath & "\" & "D13_????.CSV"
NewName = strPath & "\Dump\" & "D13_????.CSV"

Name OldName As NewName    'flytter/omdøber filen
Avatar billede oyejo Nybegynder
05. september 2003 - 11:29 #7
Prøvde denne, men den virket ikke.
Jeg fårstår ikke så mye VBA, så dere må være vennlige å forklare
det selv det enkle :-)

Public Sub Flytte()
   
    Dim strPath As String
    Dim OldName, NewName
    strPath = ThisWorkbook.Path
    ChDir strPath

    OldName = strPath & "\" & "D13_????.CSV"
    NewName = strPath & "\Dump\" & "D13_????.CSV"
    Name OldName As NewName

End Sub
Avatar billede oyejo Nybegynder
05. september 2003 - 11:32 #8
Ved Debug er "Name OldName As NewName" merket med gult
Avatar billede bak Forsker
05. september 2003 - 11:43 #9
et filnavn må ikke indeholde ?
Avatar billede bak Forsker
05. september 2003 - 11:49 #10
Der er ikke så meget ellers at forklare.
OldName er det nuværende navn og sti
NewName er det navn og sti du vil flytte filen til

Name OldName As NewName  flytter filen fra nuværende sti derhen hvor du ønsker
Avatar billede oyejo Nybegynder
05. september 2003 - 11:50 #11
Beklager,
Jeg måtte skrive Navet D13_0503.CSV
Det gikk ikke med D13_????.CSV  Der hvert ? står for et tall.
(kan benytte denne syntaksen når jeg skal åpne filer)
Dere får 25p hver for god hjelp
bak må sende et svar.
Avatar billede jkrons Professor
05. september 2003 - 11:51 #12
bak-> Jeg opfatter ?'ne som et forsøg å at have wildcards i filnavnet, en måske tager jeg fejl.
Avatar billede jkrons Professor
05. september 2003 - 11:51 #13
oyejo-> Har du prøvet med D13_*.csv
Avatar billede oyejo Nybegynder
05. september 2003 - 12:01 #14
ja jeg benytter ? som wildcard, en ? tilsvarer et tegn
skal prøver D13_*.csv  eller bare D13*
Avatar billede jkrons Professor
05. september 2003 - 12:03 #15
Jeg ved at ? erstatter et tegn, men tror bare at VBA tror det er en ulovlig karakter i filnavnet. Prøv en af de andre.
Avatar billede oyejo Nybegynder
05. september 2003 - 12:03 #16
Det går nok ikke med wildcard når filen skal få nytt navn, Den vet ikke hvilket navn den skal gi den nye filen
Avatar billede bak Forsker
05. september 2003 - 12:04 #17
hvis du vil bruge "wildcards" skal du bruge jkrons forslag.
NAME tager ikke wildcards, men det gør filesystems movefile
Avatar billede oyejo Nybegynder
05. september 2003 - 12:07 #18
Prøvde med de andre variantene med * det gikk ikke
Avatar billede overchord Nybegynder
05. september 2003 - 12:17 #19
Kan du ikke bruge filecopy startplacering, slutplacering
efterfulgt af
kill startplacering
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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