AW: bestimmten Text aus mehreren Textdateien in Tabell
10.04.2008 11:38:00
gregor
Hallo,
Danke Rainer für deine Hilfe.
Ich gebe hier noch meinen kompletten Code an,
damit andere Anwender, die das gleiche Anliegen haben,
diesen für sich nutzen können.
Option Explicit
Private Type BrowseInfo
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const MAX_PATH = 1000
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, _
ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal _
lpBuffer As String) As Long
Sub einlesen()
Dim fso As Object
Dim fo As Object
Dim f As Object
Dim lng As Long
Dim pf$
pf = BrowseForFolder(0, "Pfad für die Textdateien wählen ..")
If pf = vbNullString Then Exit Sub
Set fso = CreateObject("Scripting.FileSystemObject")
Set fo = fso.GetFolder(pf)
Dim readtext, readtext2, readtext3 As String
Dim i, j As Long
Close #1
j = 1
i = 1
For Each f In fo.Files
If Right(f.Name, 4) = ".txt" Then
Open f.Path For Input As #1
j = 1
Do While Not EOF(1)
Line Input #1, readtext
Select Case j
Case 1
If InStr(1, readtext, ""<!-- ") = Null Or InStr(1, readtext, ""<!-- ") = 0 Or _
InStr(1, readtext, " -->") = 0 Or InStr(1, readtext, " -->") = Null Then GoTo _
NichtGefunden
readtext2 = Right(readtext, Len(readtext) - (InStr(1, readtext, "<!-- ") + 4)) _
readtext3 = Left(readtext2, InStr(1, readtext2, " -->") - 1)
Tabelle5.Cells(i, j) = readtext3
Case 2
If InStr(1, readtext, "id") = Null Or InStr(1, readtext, "id") = 0 Or _
InStr(1, readtext, ">") = 0 Or InStr(1, readtext, ">") = Null Then GoTo _
NichtGefunden
readtext2 = Right(readtext, Len(readtext) - (InStr(1, readtext, "id") + 3))
readtext3 = Left(readtext2, InStr(1, readtext2, ">") - 2)
Tabelle5.Cells(i, j) = readtext3
Case 3
If InStr(1, readtext, "position") = Null Or InStr(1, readtext, "position") = 0 Or _
InStr(1, readtext, ">") = 0 Or InStr(1, readtext, ">") = Null Then GoTo _
NichtGefunden
readtext2 = Right(readtext, Len(readtext) - (InStr(1, readtext, "position") + 9) _
)
readtext3 = Left(readtext2, InStr(1, readtext2, ">") - 2)
Tabelle5.Cells(i, j) = readtext3
j = j + 1
If InStr(1, readtext, ">") = Null Or InStr(1, readtext, ">") = 0 Or _
InStr(1, readtext, "")))
readtext3 = Left(readtext2, InStr(1, readtext2, "") = Null Or InStr(1, readtext, ">") = 0 Or _
InStr(1, readtext, "")))
readtext3 = Left(readtext2, InStr(1, readtext2, "") = Null Or InStr(1, readtext, ">") = 0 Or _
InStr(1, readtext, "")))
readtext3 = Left(readtext2, InStr(1, readtext2, "") = Null Or InStr(1, readtext, ">") = 0 Or _
InStr(1, readtext, "")))
readtext3 = Left(readtext2, InStr(1, readtext2, "
Gregor