Avatar billede mega-hawk Nybegynder
18. september 2010 - 11:25 Der er 8 kommentarer og
1 løsning

Hvad er der galt med denne kode?

Hvor er fejlen i denne kode?

Private Sub Command1_Click()
Dim old_file, new_file As String
On Error Resume Next

If main.List1.ListIndex = 0 Then
old_file = File1.FileName
new_file = "new_test.txt"
MsgBox "Dette er filen som bliver omdøbt " & old_file & ""
MsgBox "Dette er filens nye navn " & new_file & ""
Name old_file As new_file
File1.Refresh
MsgBox "Filen er blevet omdøbt"
Else
End If
End Sub

Det virker fint med de rigtige navne i min msgbox, men den kører bare igennem til msgbox som siger filen er omdøbt, men den omdøber ikke min fil. Hvorfor?
Avatar billede supertekst Ekspert
18. september 2010 - 12:15 #1
Prøv at "neutralisere" On Error Resume Next - så kan du se hvor koden fejler...
Avatar billede mega-hawk Nybegynder
18. september 2010 - 12:43 #2
he he ups klart ja min fejl.

Nå vi prøver lige igen og lidt step by step.

starter programmet
vælger min fil test.txt

trykker på kommand knappen

får en msgbox som siger "Dette er filen som bliver omdøbt test.txt"

trykker ok.

Får en ny msgbox som siger "Dette er filens nye navn new_test.txt

trykker ok

får error besked:

run-time error '53':

File not found

trykker debug

lander på denne linje:

Name old_file As new_file

Og det forstår jeg så ikke da den jo fint kommer med mine msgboxe med de rigtige navne?
Avatar billede claes57 Ekspert
18. september 2010 - 13:14 #3
du skal nok have hele stien med i old_file (ikke i new_file, der jo skal være samme sted)
Avatar billede mega-hawk Nybegynder
18. september 2010 - 17:04 #4
da jeg godt vil have programmet til at være lidt fleksibel og folk så derved selv kan vælge hvor den "fil" ligger så har jeg jo drive og file list osv så hvordan ville sådan en kode se ud?

old_file = Drive1.Drive & Dir1.path & File1.FileName
virker ikke:

run time error 5
ivalid procedure call or agument
og klart nok stopper debug på
Name old_file As new_file

Sådan set det sidste jeg lige mangler at få til at virke for at kunne afslutte dette program og starte på et nyt.
Avatar billede claes57 Ekspert
18. september 2010 - 17:15 #5
prøv at vise/udskrive
Drive1.Drive & Dir1.path & File1.FileName
for at se, om der er / osv korrekt sat.
Avatar billede mega-hawk Nybegynder
18. september 2010 - 17:58 #6
jeg har meget at lære endnu.
Faktisk lidt flov for jeg udskriver jo det hele for at se hvor fejlen er og så tænker jeg ikke engang på at udskrive den linje der he he.

Problemmet var så at jeg havde mit drev 2 gange ved ikke hvorfor.
altså c:c:\stien... men det har jeg ændret og nu virker det perfekt.

Så 1000 tak for hjælpen og smid et svar så jeg kan belønne dig med dine velfortjente points...

Og hold endelig øje her inde for jeg skal snart til at lave et nyt program så da kommer nok mange dumme spørgsmål også ;o)
Avatar billede mega-hawk Nybegynder
18. september 2010 - 18:46 #7
hm... håber det er ok jeg lige hurtig smider denne her fejl med her ind:

test_file = App.path & "\..\testfiles\"

FileCopy "test_file", Dir1.path

Den vil ikke gå en mappe tilbage og så ind i min testfiles
altså sådan her:

altså mit mappesystem
c:\vb\testfiles
c:\vb\menu

og app.path er c:\vb\menu og så vil jeg gerne have den går tilbage til c:\vb\testfiles....?
Avatar billede mega-hawk Nybegynder
26. september 2010 - 21:22 #8
claes57 smider du et svar så jeg kan få lukket spørgsmålet her...
Avatar billede claes57 Ekspert
27. september 2010 - 10:03 #9
' først sættes stien
test_file = App.Path
' fjern menu
test_file = Left(test_file, Len(test_file) - 4)
' tilføj testfiles
test_file = test_file & "testfiles"

FileCopy test_file, dir1.Path
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