Option
Explicit
Sub
TxtFileProcessing()
Dim
fileName
As
String
Dim
TextArr()
As
Variant
Dim
i
As
Long
fileName =
"C:\Desktop\text.txt"
ReDim
TextArr(GetNumberOfRowsInCsvFile(fileName), 1)
Call
ArrayAusCsvDatei(fileName, TextArr())
For
i = 0
To
UBound(TextArr)
TextArr(i, 1) = Replace(TextArr(i, 1),
"."
,
","
)
Next
i
MsgBox
"Anzahl Zeilen: "
& UBound(TextArr) & Chr(13) &
"Letzte Zeile Bezeichnung: "
& TextArr(UBound(TextArr) - 1, 0) & Chr(13) &
"Letzte Zeile Wert: "
& TextArr(UBound(TextArr) - 1, 1)
End
Sub
Private
Sub
ArrayAusCsvDatei(strDateiName
As
String
,
ByRef
arrZielArray()
As
Variant
)
Dim
i
As
Long
Dim
lngDateiZeile
As
Long
Dim
strZeile
As
String
Dim
arrZeilenElemente()
As
String
Open strDateiName
For
Input
As
#1
Do
While
Not
EOF(1)
Line Input #1, strZeile
arrZeilenElemente = Split(strZeile)
arrZielArray(lngDateiZeile, 0) = arrZeilenElemente(0)
arrZielArray(lngDateiZeile, 1) = arrZeilenElemente(UBound(arrZeilenElemente))
lngDateiZeile = lngDateiZeile + 1
Loop
Close #1
End
Sub
Public
Function
GetNumberOfRowsInCsvFile(
ByVal
strFile
As
String
)
As
Long
Dim
fso
As
Object
Dim
ts
As
Object
Set
fso = CreateObject(
"Scripting.FileSystemObject"
)
Set
ts = fso.OpenTextFile(strFile)
ts.ReadAll
GetNumberOfRowsInCsvFile = ts.Line
Set
fso =
Nothing
Set
ts =
Nothing
End
Function