Ordnerstruktur und Werte aus Files einlesen

18/09/2007 - 12:00 von mromica | Report spam
Hallo NG,

ich habe eine Ordnerstruktur d:\TEST\User_1 . d:\TEST\User_n, in
jedem Ordner User_i gibt es eine Datei dat.ini und ein Unterordner BLA
wo wieder eine dat.ini vorhanden ist. Bei allen dat.ini ist die Zeile
12: Terminal=Integerzahl.

Ich möchte gerne mit VBA in eine Exceltabelle die Usernamen
(Ordername) und die dazugehörigen Terminalnummer einlesen.
Die Exceltabelle müsste so ausschauen:

USER TERM-ROOT TERM-BLA
User_1 Wert von d:\TEST\User_1 \dat.ini Wert von d:\TEST
\User_1 \BLA\dat.ini
User_2 Wert von d:\TEST\User_2 \dat.ini Wert von d:\TEST
\User_2 \BLA\dat.ini
.
.
.
User_n Wert von d:\TEST\User_n \dat.ini Wert von d:\TEST
\User_n \BLA\dat.ini

OS WinXP SP2, EXCEL 2002 SP3

Bin für jede Hilfe dankbar.
Romica Manea
 

Lesen sie die antworten

#1 stefan onken
18/09/2007 - 14:23 | Warnen spam
On 18 Sep., 12:00, ""
wrote:
Hallo NG,

ich habe eine Ordnerstruktur d:\TEST\User_1 . d:\TEST\User_n, in
jedem Ordner User_i gibt es eine Datei dat.ini und ein Unterordner BLA
wo wieder eine dat.ini vorhanden ist. Bei allen dat.ini ist die Zeile
12: Terminal=Integerzahl.

Ich möchte gerne mit VBA in eine Exceltabelle die Usernamen
(Ordername) und die dazugehörigen Terminalnummer einlesen.
Die Exceltabelle müsste so ausschauen:

USER TERM-ROOT TERM-BLA
User_1 Wert von d:\TEST\User_1 \dat.ini Wert von d:\TEST
\User_1 \BLA\dat.ini
User_2 Wert von d:\TEST\User_2 \dat.ini Wert von d:\TEST
\User_2 \BLA\dat.ini
.
.
.
User_n Wert von d:\TEST\User_n \dat.ini Wert von d:\TEST
\User_n \BLA\dat.ini

OS WinXP SP2, EXCEL 2002 SP3

Bin für jede Hilfe dankbar.
Romica Manea



hallo Romica,
teste mal dieses (wichtig: im VBA-Editor den Verweis auf MS scripting
runtime setzen!):

Sub VerzeichnisListe()
'Extras/Verweis auf Microsoft Scripting Runtime
Dim fso As New filesystemobject
Set fld = fso.GetFolder("D:\test\")
For Each subfld In fld.SubFolders
i = i + 1
Range("A" & i) = subfld.Name
Range("B" & i) = IniEinlesen(subfld.Path & "\dat.ini")
Range("C" & i) = IniEinlesen(subfld.Path & "\BLA\dat.ini")
Next
End Sub

Function IniEinlesen(Pfad)
Open Pfad For Input As #1
For i = 1 To 12
Line Input #1, ini
Next
Close #1
IniEinlesen = Replace(ini, "Terminal=", "")
End Function


Gruß
stefan

Ähnliche fragen