Avatar billede theoryman Nybegynder
03. oktober 2003 - 13:39 Der er 9 kommentarer

Åbne flere filer i en løkke - Det er altså VBA-sprog!

Hej,

Håber, at der er en derude, der kan hjælpe mig.

Jeg prøver at lave en løkkestruktur, som kan åbne og søge i x antal filer automatisk. Dvs. Først skal vba-koden åbne den første fil og søge i den og dernæst den næste fil osv. Selve søge-strukturen har jeg lavet, men jeg kan ikke få det med filåbningen til at virke...:-(
Hvordan kan man lave det lidt smart - jeg skal nemlig ca. søge i 250 forskellige filer - kan man godt lave noget der er smartere end at indtaste i en inputbox hvergang man skifter fil ?

Håber du/I forstår mit problem.

Tak,
TheoryMan
Avatar billede stefanfuglsang Juniormester
03. oktober 2003 - 13:48 #1
Prøv at uddybe lidt - du kender filnavnene på forhånd eller søger du efter dem?
Søger du i en ad gangen? Er det tekstfiler eller binære filer?
Avatar billede stefanfuglsang Juniormester
03. oktober 2003 - 13:51 #2
OpenTextFile kan f.eks. bruges
Sub OpenTextFileTest
    Const ForReading = 1, ForWriting = 2, ForAppending = 3
    Dim fs, f
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.OpenTextFile("c:\testfile.txt", Sub OpenTextFileTest
    Const ForReading = 1, ForWriting = 2, ForAppending = 3
    Dim fs, f
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.OpenTextFile("c:\testfile.txt", ForReading,TristateFalse)
    'f.read
    .... 
    'f.Close
End Sub
Avatar billede stefanfuglsang Juniormester
03. oktober 2003 - 14:00 #3
Du kan jo f.eks. have dine filnavne i et array:

dim filnavne as variant
filnavne = array("fil1","fil2","fil3")
Avatar billede theoryman Nybegynder
04. oktober 2003 - 13:21 #4
Undskyld senere svar...kæmpet på at løse det, desværre uden held.

Uddybe: Jeg kender alle filnavnene på forhånd og det er alle .txt filer, hvor jeg skal hente data fra. Jeg skal åbne (ca. 250 .txt filer) for at søge efter  specifikt data, og derefter skriver jeg det i excel.
Mit problem er at åbne 250 filer på en smart/let måde.

Håber det hjælper !
Avatar billede theoryman Nybegynder
04. oktober 2003 - 13:25 #5
Koden du har skrevet kan jeg ikke rigtigt gennemskue - gider du at forklare lidt nærmere. Kode du har skrevet, skal jeg da ikke skrive 250 filnavne ?
Avatar billede theoryman Nybegynder
04. oktober 2003 - 13:53 #6
Mere præcis formulering til problemet:

Jeg åbner .txt fil nr. 1 (af 250) - søger om der er noget brugbart - HVIS der er brugbart, så skriver jeg det i excel - HVIS ikke brugbart, så skal jeg åbne næste fil og gøre samme rutine...
Håber dette gjorde det lidt mere klart, tak for hjælpen indtil nu !
Avatar billede theoryman Nybegynder
04. oktober 2003 - 14:30 #7
Mere præcis formulering til problemet:

Jeg åbner .txt fil nr. 1 (af 250) - søger om der er noget brugbart - HVIS der er brugbart, så skriver jeg det i excel - HVIS ikke brugbart, så skal jeg åbne næste fil og gøre samme rutine...
Håber dette gjorde det lidt mere klart, tak for hjælpen indtil nu !
Avatar billede theoryman Nybegynder
04. oktober 2003 - 14:31 #8
ups!
Avatar billede stefanfuglsang Juniormester
04. oktober 2003 - 16:42 #9
Jeg har desværre ikke så meget tid nu, men filnavnene må du have et eller andet sted - du kender dem jo på forhånd, derfor kan du vel skrive den ind i et array eller bedre: have dem i en kolonne i regnearket og læse filnavnene med
Worksheets("ark1").range("a1").offset(i) (i en for-løkke, hvor i går fra 1 til 250).
Der er nok ikke andre der nu deltager i et sådant "gammelt" spørgsmål, så måske skal du lukke dette (give dig selv point) og oprette et nyt?

Slut for nu.
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