Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: textboxinhalt in Textdatei schreiben

textboxinhalt in Textdatei schreiben
19.02.2016 15:27:37
Maria
Hallo,
ich möchte gerne einen Wert/Text aus einer TextBox in einer externen Textdatei ablegen und einlesen.
ablegen
Dim F As Integer
F = FreeFile
Open "CC.txt" For Output As #F
Print #F, Daueremail
Close #F
einlesen:
Dim F As Integer
Dim Zeile1 As String
Dim Zeile2 As String
F = FreeFile
Open "CC.txt" For Input As #F
Line Input #F, Zeile1
Close #F
TextBox1.Text = Zeile1
Nun habe ich aber das Problem das der TextBox noch eine Combobox vorgeschaltet ist.
Dadurch kann für jeden Eintrag in der Combobox ein Wert/Text im Textfeld zugeordnet werden.
Mein Problem ist nun, dass bisher der bestehende Text/Wert in der Textdatei überschrieben wird.
Es müsste der Listenindex des Eintrags in der Combobox ausgelesen werden und dann als Vorgabe für die Zeile in der der Text/wert in der Textdatei geschrieben werden soll, verwendet werden.
Anbei meine Datei mit der Userform (Prinzipeller Aufbau)
https://www.herber.de/bbs/user/103712.xlsm
Kann jemand helfen?
Gruß

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Textboxinhalt in eine Textdatei schreiben


Schritt-für-Schritt-Anleitung

Um den Inhalt einer TextBox in eine externe Textdatei zu schreiben und diese wieder einzulesen, kannst Du den folgenden VBA-Code verwenden. Dieser Code ist für Excel 2010 und höher geeignet.

  1. Text in die Textdatei schreiben:

    Dim F As Integer
    F = FreeFile
    Open "CC.txt" For Output As #F
    Print #F, TextBox1.Text
    Close #F
  2. Text aus der Textdatei lesen:

    Dim F As Integer
    Dim Zeile1 As String
    F = FreeFile
    Open "CC.txt" For Input As #F
    Line Input #F, Zeile1
    Close #F
    TextBox1.Text = Zeile1
  3. Zugriff auf ComboBox: Um sicherzustellen, dass der Text in der TextBox dem entsprechenden Eintrag in der ComboBox zugeordnet ist, kannst Du den Listenindex wie folgt verwenden:

    Dim Index As Integer
    Index = ComboBox1.ListIndex

    Du kannst dann den Index nutzen, um den entsprechenden Wert zu speichern oder zu lesen.


Häufige Fehler und Lösungen

  • Fehler: Die Textdatei wird überschrieben.

    • Lösung: Stelle sicher, dass Du den richtigen Index der ComboBox verwendest, um den Text in der Textdatei zu speichern. Verwende Open "CC.txt" For Append anstelle von For Output, wenn Du den bestehenden Inhalt nicht überschreiben möchtest.
  • Fehler: TextBox bleibt leer nach dem Einlesen.

    • Lösung: Überprüfe den Dateipfad und stelle sicher, dass die Textdatei existiert und nicht leer ist.

Alternative Methoden

Eine alternative Methode, um mit Textdateien zu arbeiten, ist die Verwendung von FileSystemObject. Hier ist ein Beispiel:

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

' Schreiben
Dim txtFile As Object
Set txtFile = fso.CreateTextFile("CC.txt", True)
txtFile.WriteLine TextBox1.Text
txtFile.Close

' Lesen
Set txtFile = fso.OpenTextFile("CC.txt", 1)
TextBox1.Text = txtFile.ReadLine
txtFile.Close

Diese Methode bietet mehr Flexibilität und Fehlerbehandlungsmöglichkeiten.


Praktische Beispiele

Hier ist ein vollständiges Beispiel, wie Du die TextBox mit der ComboBox verbinden kannst:

Private Sub CommandButton1_Click()
    Dim F As Integer
    Dim Index As Integer
    Index = ComboBox1.ListIndex

    F = FreeFile
    Open "CC.txt" For Output As #F
    Print #F, TextBox1.Text
    Close #F
End Sub

Private Sub CommandButton2_Click()
    Dim F As Integer
    Dim Zeile1 As String
    F = FreeFile
    Open "CC.txt" For Input As #F
    Line Input #F, Zeile1
    Close #F
    TextBox1.Text = Zeile1
End Sub

Tipps für Profis

  • Verwende Error Handling in Deinem VBA-Code, um unerwartete Fehler abzufangen.
  • Stelle sicher, dass Du die richtigen Dateipfade verwendest, insbesondere wenn Du mit mehreren Benutzern oder Netzwerklaufwerken arbeitest.
  • Halte Deinen Code modular und strukturiert, um die Wartbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zeilen in die Textdatei schreiben? Du kannst die Print #F-Anweisung mehrmals aufrufen, um mehrere Zeilen zu schreiben. Achte darauf, dass Du den richtigen Modus verwendest, um nicht den gesamten Inhalt zu überschreiben.

2. Was ist der Unterschied zwischen Print und Write? Print formatiert den Text und fügt standardmäßig Zeilenumbrüche hinzu, während Write die Werte in ein kommagetrenntes Format konvertiert. Verwende Print, wenn Du den Text so speichern möchtest, wie er eingegeben wurde.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige