18. november 2003 - 19:42Der er
26 kommentarer og 1 løsning
Kopier fil til diskette via VBA
Hej eksperter
Jeg en form, på denne form er det et felt der hedder "Filnavn", i dette felt kan der stå en sti til en fil på harddisken feks C:\Midifiler\ER\0305.mid. Øvelsen går ud på at få en funktion til at kopier filen der svare til det der står i feltet "Filnavn" til A:\. Filerne kan sagtens ligger forskellige steder på hardisken. Jeg har skrevet nedenstående funktion, men den melder "Path not fund", den forsøger godt nok at skrive på A:\, men fejler altså på stien til filen.Som det fremgår af spørgsmålet er indholdet af feltet "Filnavn" dynamisk. Nogen der har et forslag.
Syntax FileCopy source, destination The FileCopy statement syntax has these named arguments: Part Description source Required. String expression that specifies the name of the file to be copied. The source may include directory or folder, and drive. destination Required. String expression that specifies the target file name. The destination may include directory or folder, and drive. Remarks If you try to use the FileCopy statement on a currently open file, an error occurs.
Hej Mugs, tak for indlægget. Jeg har læst ovenstående fra hjælpen. og hvis jeg hardkoder en bestemt mappe og fil virker det også, mit problem er at stien til de forskellige filer er dynamiske, derfor forsøger jeg at få funktionen til at opfatte feltet "Filnavn" som stien til filen, og det er her det fejler selvom der i feltet "Filnavn" står hele stien incl, det fysike filnavn.
Denne fungerer, når jeg kopierer fra en anden db end den der skal kopieres. Tekst0 er en ubunden tekstboks på formularen:
Dim SourceFile As String, Destinationfile, a a = Me.Tekst0 SourceFile = Me.Tekst0 Destinationfile = "C:\Documents and Settings\Mogens Storgaard\Skrivebord\test\ny.mdb" FileCopy SourceFile, Destinationfile
Denne fejler også med Path not found, jeg stirre mig blind på den *SS*
Dim SourceFile As String, Destinationfile, a a = Form_fmOversigt.Filnavn SourceFile = Form_fmOversigt.Filnavn Destinationfile = "A:\" FileCopy SourceFile, Destinationfile
Hvid u vil referere til en objekstsamling skal flg rettes: a = Form_fmOversigt.Filnavn til a = [Forms![fmOversigt]![Filnavn] eller også brug det reserberede ord Me.Filnavn
Destinationfile skal indeholde hele stien incl. det nye filnavn.
Okay Men jeg forsøger jo at kopier en fil fra hardisk til diskette hvor filnavnet er det der står i feltet "Filnavn" dvs. filen jeg kopier findes jo i forvejen, kunne du prøve at skrive koden *SS*
Bemærk at min Tekst0 (= variablen a) er SourceFile, altså den fil der skal kopieres. Måske er det der vi går galt i byen. Hele koden fremgår af min kommentar 20:41
Hvis jeg ikke skriver den fulde sti til til Destinationfile får jeg en fejl. Stien skal indeholde ikke alene drevet men også FILNAVNET på den endnu ikke oprettede fil.
Okay det forstår jeg, men stien har jeg jo allerede i feltet "Filnavn" på min form, det må være her det går galt, har du mod på at forsætte, løsningen haster bestemt ikke
Hej Mugs, jeg har nu modtaget din mail, men desværre blokere outlook dem, sorrey min fejl, hvis du vil have ulejligheden må du gerne sende dem til anj@nationalbanken.dk i stedet for så kikker jeg på det i morgen når jeg møder på arbejde (08:00), forresten har du fået points, jeg kom til at klikke på accpter i stedet for kommentar, never mind har du fået dem er de velfortjent.
Jeg lægger et indlæg her i spørgsmålet i morgen når jeg har testet
Godmorgen Tak for filerne, det virker jo meget godt, men din Destinationfile er jo skrevet direkte, men Destinationfilestien og filnavn er dynamiske. Den første Variable SourceFile virker, det er det der står i feltet "Filnavn", problemet er variablen Destinationfile, altså den fil der skal kopieres til diskette. Jeg kender jo allerede navnet på den fil jeg skal kopier til diskette, dette fremgår af feltet "Filnavn", håbder det e klar tale. *SS*, derfor kan jeg ikke bruge koden.
Nej - Jeg nåede ikke lige iaftes jeg havde regnet med. Men kna du uddybel dette:
problemet er variablen Destinationfile, altså den fil der skal kopieres til diskette. Jeg kender jo allerede navnet på den fil jeg skal kopier til diskette
Det er ike lige klart.
Synes godt om
Ny brugerNybegynder
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.