Avatar billede schris Praktikant
11. marts 2008 - 07:18 Der er 22 kommentarer og
1 løsning

modul eller macro til renaming af filer i eksten mappe

Hej!

Jeg mangler et modul der kan foretage en renaming af txt-filer placeret i en folder, der er beliggende samme mappe som min database.

Filnavnene er ukendte - kun extention txt er kendt

Jeg er IKKE nogen kodenørd, så jeg er lidt på herrens mark :-)

Har prøvet at google mig frem, men uden det store held, da de svar jeg har fundet kræver nærmere viden om VBA programmering :-(

Håber at der er nogen her der kan hjælpe :-)
Avatar billede Slettet bruger
11. marts 2008 - 07:48 #1
Hvad skal de renames til!~)
Avatar billede Slettet bruger
11. marts 2008 - 08:42 #2
har du prøvet diverse software, her er et googlet eksempel:

http://www.sharewareplaza.com/All-File-Renamer-download_25986.html

eller skal det være i vba... hvis det skal være vba, så ville jeg hente programmet indlæsfilnavne fra www.makeiteasy.dk og bruge det til at ligge navnene på txt filerne ind i en tabel. Herefter ville jeg lave en dao.recordset funktion, som starter ved første post og så går dem igennem en efter en. Selve renaming'en ville jeg nok forsøge at ligge i en shell funktion, dvs. hvis du kan stykke en dynamisk ren eller rename kommandolinie sammen, så vil du kunne fyre den af med shell!~)
Avatar billede schris Praktikant
11. marts 2008 - 08:52 #3
At bruge eksterne programmer er desværre ikke det jeg søger - jeg skal bruge et internt modul, da selve databasen skal "kunne klare det hele selv". Databasen skal nemlig kunne distribueres og efterfølgende anvendes af alle uden nærmere viden (den skal være "point and click for dummies" :-) ) - men tak for buddet :-)
Avatar billede schris Praktikant
11. marts 2008 - 08:53 #4
Filerne skal iø blot navneændres fra "ukendt.txt" til "for-defineret.txt"
Avatar billede jensen363 Forsker
11. marts 2008 - 09:02 #5
En idé ...

En *.bat fil i dit bibliotek kan aktiveres fra access og kan hermed udføre det ønskede ....
Avatar billede jensen363 Forsker
11. marts 2008 - 09:03 #6
Rename *.txt *.NogetAndet
Avatar billede schris Praktikant
11. marts 2008 - 09:59 #7
det var sgu simpelt - OG DET VIRKER :-) - SUPER
Avatar billede jensen363 Forsker
11. marts 2008 - 10:02 #8
Nogen gange behøver det ikke være så indviklet :-)
Takker for point
Avatar billede terry Ekspert
11. marts 2008 - 10:51 #9
"Databasen skal nemlig kunne distribueres og efterfølgende anvendes af alle uden nærmere viden (den skal være "point and click for dummies" :-)"

which also mean the bat file needs distributing too.
Avatar billede schris Praktikant
11. marts 2008 - 12:39 #10
true - but it will be distributed as a package - that's not a problem :-)
Avatar billede schris Praktikant
11. marts 2008 - 13:05 #11
I've run into a little problem: I've created this little bat-file within the directory:

echo off
rename folder\*txt name.txt

It runs perfectly when I run it from the folder, but when I run it from a macro it can't find the file. It will run if i define the absolute path in the bat file (c:\database_folder\folder\*.txt name.txt). How do I get around this - I'd like to keep the relative path so that it doesn't matter where the database is placed.
Avatar billede terry Ekspert
11. marts 2008 - 13:35 #12
try CurrentProject.Path
Avatar billede schris Praktikant
11. marts 2008 - 13:41 #13
CurrentProject.path not recognized as a command :(
Avatar billede terry Ekspert
11. marts 2008 - 14:16 #14
app.path
Avatar billede terry Ekspert
11. marts 2008 - 17:31 #15
Wait a moment, it sthe path in the bat file your having problems with.

.\NameOfFileToRename.txt


If the file(s) ypou want to rename and the database are in the same foleder as the BAT file then .\ should work.
Avatar billede schris Praktikant
11. marts 2008 - 17:51 #16
The problem is, that when executing the bat-file it's not run in the "home directory" but from a "MAPI" folder - it seems to open in a temporary folder of some kind - I want to get around this
Avatar billede terry Ekspert
11. marts 2008 - 17:55 #17
? Isnt the bat file in the same folder as the dB?
Avatar billede schris Praktikant
11. marts 2008 - 19:04 #18
Yes it is - and that is what bothers me - the macro-call to the bat file seems to open outside the folder .....
Avatar billede terry Ekspert
11. marts 2008 - 19:18 #19
seems you've been too quick accepting the answer from jensen363 :o)

Not sure what to suggest without making a new solution.

A batch file can be called with paramaters, so why not send the path/filename to the batch file?

http://home.att.net/~gobruen/progs/dos_batch/dos_batch.html

Look at section Batch File Parameters
Avatar billede jensen363 Forsker
12. marts 2008 - 08:54 #20
I have no problem in returning any point´s given on a bad answer :-)
Avatar billede schris Praktikant
12. marts 2008 - 09:01 #21
terry: the problem with the parameters is, that I only want to use the relative path in the bat - not the absolute (I will not be able to determine the absolute path, because the user shall be able to install the database at any desired path)
Avatar billede jensen363 Forsker
12. marts 2008 - 09:20 #22
Er det ikke muligt at benytte :

Application.CurrentProject.Path

til at aflæse den til enhver tid gældende placering af din batchfil, og så benytte denne til aktiveringen ????
Avatar billede jensen363 Forsker
12. marts 2008 - 09:26 #23
Dette virker hos mig :

Function RenameFile()

Batchfile = Application.CurrentProject.Path

    Call Shell(Batchfile & "\Rename.bat", 1)

End Function
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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