Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten aus einer Textdatei einlesen

Daten aus einer Textdatei einlesen
16.06.2005 14:01:14
Horst
Hey alle zusammen !
Neues problem:
Ich moechte gerne eine textdatei in excel einlesen und den inhalt dieser datei in einem makro ueberpruefen, wenn dieser wert stimmt dann oeffene die excelmappe wenn nicht dann schliesse sie.
Motivation:
Z.B. Ein passwort ueberprufung in excel vor dem oeffen der mappe vornehmen.
Wie kann ich also aus einer textdatei, den inhalt pro zeile in einer variable eines makros ablegen.
Beispiel:
Passwort ist das aktuelle Jahr.
In der Textdatei steht z.b. in der zweiten zeile: 2005.
Diesen string moechte ich dann zum integer konvertieren und dann mit dem wert im makro vergleichen.
Ist der wert identisch dann oeffene, wenn nicht dann fehler.
Wer eine idee ?
Gruss
horst

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus einer Textdatei einlesen
16.06.2005 14:10:06
Sylvio
Hallo
zwei subs eins zum lesen eins zum schreiben von txtdatein

Private Sub lesen()
'ort= Pfad der Datei
Open ort For Output As #1
For i = 2 To 6
stext = Cells(i, 2) & Chr(9) & Cells(i, 3)
Print #1, stext; Tab(19)
'#1, Chr(8)
Next i
Close #1
MsgBox ("Habe gerade " & i - 2 & " Zeilen in die Datei " & ort & " geschrieben")
End Sub


Private Sub schreiben()
'ort= Pfad der Datei
Open ort For Input As #1
Do While Not EOF(1)
'Ließt die Datei zeilenweise ein und packe sie in variable oder array
Line Input #1, zeile(pos)
Cells(pos + 2, 1) = zeile(pos)
'Zahlen mit val(zeile(pos))
pos = pos + 1
Loop
Close #1
MsgBox ("Du hast " & pos & " Zeilen in Deiner Datei! ")
End Sub

Gruß Syl
Anzeige
AW: Daten aus einer Textdatei einlesen
17.06.2005 10:30:56
Horst
Hey sly !
Du mir leid das ich erst jetzt antworte aber irgendwie habe ich keine emailbenachrichtigung bekommen :-(
Kannst mir die makros noch ein wenig genauer erklaeren:
1.
---------------------------

Private Sub lesen()
'ort= Pfad der Datei
Open ort For Output As #1 ? Was hat das #1 zu bedeuten?
For i = 2 To 6  ? iterierst du hier uber die zeilen (also zeile 2 bis 6) im dokument
stext = Cells(i, 2) & Chr(9) & Cells(i, 3) ? Chr(9) steht wofuer
Print #1, stext; Tab(19) ? Tab(19) was hat das zu sagen?
'#1, Chr(8) ? Chr(8) steht wofuer
Next i
Close #1
MsgBox ("Habe gerade " & i - 2 & " Zeilen in die Datei " & ort & " geschrieben")
End Sub

---------------------------------------
2.
------------------------------------

Private Sub schreiben()
'ort= Pfad der Datei
Open ort For Input As #1 ? was hat #1 zu sagen
Do While Not EOF(1)
'Ließt die Datei zeilenweise ein und packe sie in variable oder array
Line Input #1, zeile(pos)
Cells(pos + 2, 1) = zeile(pos)
'Zahlen mit val(zeile(pos))
pos = pos + 1
Loop
Close #1
MsgBox ("Du hast " & pos & " Zeilen in Deiner Datei! ")
End Sub

----------------------------------------
Ich waere dir sehr dankbar
Gruss horst
Anzeige
AW: Daten aus einer Textdatei einlesen
20.06.2005 13:00:13
MichaV
Hallo Horst,
sehe gerade, daß die Frage schon ne Weile offen ist und misch mich deswegen mal ein.
Hier zwei Möglichkeiten zum Einlesen, wobei für Dich sicherlich die 2. besser ist:


      
Dim s As String
Dim zeilen() As String
'1. Variante- Komplette Datei in ein Datenfeld einlesen
Open "e:\privat\test.xml" For Binary As #1
  s = Space(LOF(1))
  
Get #1, , s
Close #1
zeilen = Split(s, vbCrLf)
MsgBox zeilen(1) 
'2. Zeile ausgeben (1. Zeile hat Index 0)

'oder - Zeilenweise einlesen
Open "e:\privat\test.xml" For Input As #1
  Line 
Input #1, s '1. Zeile einlesen
  Line Input #1, s '2. Zeile einlesen
Close #1
MsgBox s 


Einen String wandelst Du mit CInt(DeinText) in einen Integer um, siehe "Typumwandlungsfunktionen". Wenn es keine Zahl ist, gibts einen Fehler! Den kannst Du vorher mit IsNumeric(DeinText) abfangen.
Da der Wert in Zelle aber wie die Werte in der Textdatei auch Text ist, mußt Du eigentlich keine Typen umwandeln.
Gruss- Micha
PS: Rückmeldung wäre nett.
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige