AW: Daten aus TXT-Datei auslesen und in Zellen eintragen?
29.12.2019 00:12:01
volti
Hallo Sergej,
deine Beschreibung ist nicht ganz eindeutig.
Stehen in der Textdatei nur einmalig diese Eintragungen?
Sind die Zielfelder benamt?
Möchtest Du die Einträge einzeln per Aufruf extrahieren oder alle in einem Rutsch übernehmen?
Hier mal eine mögliche Vorgehensweise:
Sub DatenUebernehmen()
Dim Data As String, sPfad As String, sDatei As String
sPfad = "S:\Daten\Prj\Service"
sDatei = "Data.txt"
Close #1: Open sPfad & "\" & sDatei For Binary As #1
Data = Space(LOF(1)): Get #1, , Data
Close #1
On Error Resume Next
Range("PNR").Value = SucheInDaten(Data, "Projektnummer")
Range("PName").Value = SucheInDaten(Data, "Projektname")
Range("$B$5").Value = SucheInDaten(Data, "Mitarbeiter")
Range("PDatum").Value = SucheInDaten(Data, "Datum")
'....
End Sub
Function SucheInDaten(Data As String, ByVal sSuch As String) As String
'Funktion ermittelt einen Eintrag aus Textdaten
Dim P1 As Long, P2 As Long
sSuch = Replace(sSuch, ":", "") & ":"
P1 = InStr(Data, sSuch) + Len(sSuch)
If P1 > Len(sSuch) Then
P2 = InStr(P1, Data & vbCrLf, vbCrLf)
SucheInDaten = Trim$(Mid$(Data, P1, P2 - P1))
Select Case SucheInDaten
Case "[name]": SucheInDaten = Environ$("Username")
Case "[date]": SucheInDaten = Format$(Date, "dd.MM.yyyy")
End Select
End If
End Function
viele Grüße
Karl-Heinz