Textdatei formatieren

Ich habe eine Textdatei mit Name:Rufnummer in einer Zeile.Diese muß ich jetzt so umstricken, das sie in folgendes Format kommt: Name (muß 24 Zeichen lang sein, also ev. mit Leerzeichen auffüllen)Telefonnummer (muß auch wieder 24 Zeichen lang sein also wieder auffüllen mit Leerzeichen)danach Name2 Rufnummer2 usw.
Wie krieg ich das hin? Bin für jede Hilfe dankbar.

Hallo Newbie.

Verwendest Du die Datei als „Datenbank“, die von einem Programm eingelesen wird? (mit ‚Open For Input‘ oder so?)
Falls ja, dann sollte es helfen, die Variablen, die die Werte enthalten sollen, folgendermaßen zu deklarieren:

Dim Namen As String \* 24
Dim Rufnummer As String \* 24

(Bitte darauf achten, niemals „Name“ als Variablennamen zu verwenden)

Viele Grüße
Carsten

Danke für die Antwort. Sowas in der Art habe ich schon mal hier im Artikel /theme161/article1297560.html gefunden. Mein Problem ist aber das ich keinen Bezug zu Name und Rufnummer habe. Die Datei sieht so aus:
Name Rufnummer
xxxxx:xxxxx
xxxxx:xxxxx
Ich muß also irgendwie noch diesen einen String pro Zeile in zwei teilen und danach diese Dim x as String * 24 Formatierung zuweisen.
Genau da liegt mein Problem.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Newbie.

Ich habe hier mal die prizipielle Vorgehensweise programmiert. Dieses Beispiel kann Du ausprobieren, indem Du ein Formular mit zwei Commandbuttons bestückst und den folgenden Code eingibst:

Private MsgString As String
Private GanzerString()
Private GetrennterString()
Private Namen As String \* 24
Private Rufnummer As String \* 24

Private Sub Command1\_Click()
 Open App.Path & "\Test.txt" For Output As #1
 For a = 1 To 20
 Write #1, Chr(a + 64) & Chr(a + 64) & Chr(a + 64) & Chr(a + 64) & Chr(a + 64) & " " & a & a & a & a & a & a
 Next
 Close #1
End Sub

Private Sub Command2\_Click()
 Dim tmpEintrag As Long
 Dim Eintraege As Long
 Open App.Path & "\Test.txt" For Input As #1
 Do Until EOF(1)
 tmpEintrag = tmpEintrag + 1
 ReDim Preserve GanzerString(1 To tmpEintrag)
 Input #1, GanzerString(tmpEintrag)
 Loop
 ReDim GetrennterString(1 To 2, 1 To tmpEintrag)
 For tmpEintrag = 1 To tmpEintrag
 Namen = Mid(GanzerString(tmpEintrag), 1, InStr(1, GanzerString(tmpEintrag), " ", vbTextCompare) - 1)
 Rufnummer = Mid(GanzerString(tmpEintrag), InStr(1, GanzerString(tmpEintrag), " ", vbTextCompare) + 1, Len(GanzerString(tmpEintrag)))
 GetrennterString(1, tmpEintrag) = Namen
 GetrennterString(2, tmpEintrag) = Rufnummer
 Next
 Close #1
 For tmpEintrag = 1 To UBound(GetrennterString, 2)
 MsgString = MsgString & GetrennterString(1, tmpEintrag) & vbTab & GetrennterString(2, tmpEintrag) & vbCr
 Next
 MsgBox MsgString
End Sub

Command1 generiert eine Test-Textdatei. Mit Command2 wird sie eingelesen. Wenn in der Datei ein Doppelpunkt als Trennung zwischen Name und Rufnummer steht, dann mußt Du das in der InStr-Funktion noch anpassen, dort wird momentan ein Leerzeichen als Trennung abgefragt.

Viele Grüße
Carsten