07.06.2021, 20:02
Hallo zusammen,
folgende Aufgabe stellt sich: Es liegt eine externe (Text-)Datei vor, deren Inhalt sich in verschiedenen Zeitabständen ändert.
Ich möchte den Inhalt der Textdatei in Excel einlesen und auswerten. Die Einlese-Prozedur (danke an den Ersteller) liegt bereits vor und funktioniert. Im Excel-Arbeitsblatt habe ich zwei Buttons definiert als "Start"- und "Stopp"-Button.
Wenn der Startbutton gedrückt wird, soll in einem (selbst) definierbaren Zeitabstand (in u.g. Beispiel aller 5 Sekunden) die Textdatei eingelesen werden (Beenden mit Stopp).
Dieser Code führt leider nicht zum Ziel - die Anwendung hängt nach dem Start:
Option Explicit
Public Lauf As Boolean
Sub Schaltfläche1_Klicken()
Lauf = True
Do While Lauf = True
InformationenImportieren
'Verzögerung / Ruhepause
Application.Wait (Now + TimeValue("0:00:05"))
Loop
End Sub
Sub Schaltfläche2_Klicken()
Lauf = False
End Sub
Sub InformationenImportieren()
'Variablen definieren
Dim QuellDatei As String 'SpeicherOrt der TextDatei
Dim Zeile As Integer 'Laufvariable
Dim Inhalt As String 'Inhalt der TextDatei
Dim Informationen() As String 'Array der TextDatei
Dim i As Integer 'Laufvariable 2
'Tabellenblatt aktivieren
ThisWorkbook.Worksheets("PListe").Activate
'Startwerte zuweisen
Zeile = 4
'QuellDatei ansprechen
QuellDatei = "C:\Users\Tmp\Import_Test.txt"
'QuellDatei öffnen
Open QuellDatei For Input As #1
'Informationen in das Tabellenblatt eintragen
Do While Not EOF(1) 'Schleife läuft bis Datenende
'Inhalt der QuellDatei zeilenweise einlesen
Line Input #1, Inhalt
Informationen = Split(Inhalt, ";")
For i = 0 To UBound(Informationen)
ActiveSheet.Cells(Zeile, i + 2) = Informationen(i)
Next
Zeile = Zeile + 1
Loop
'QuellDatei schließen
Close #1
End Sub
Fall jemand einen Hinweis hat, gerne her damit. Danke im Voraus!
folgende Aufgabe stellt sich: Es liegt eine externe (Text-)Datei vor, deren Inhalt sich in verschiedenen Zeitabständen ändert.
Ich möchte den Inhalt der Textdatei in Excel einlesen und auswerten. Die Einlese-Prozedur (danke an den Ersteller) liegt bereits vor und funktioniert. Im Excel-Arbeitsblatt habe ich zwei Buttons definiert als "Start"- und "Stopp"-Button.
Wenn der Startbutton gedrückt wird, soll in einem (selbst) definierbaren Zeitabstand (in u.g. Beispiel aller 5 Sekunden) die Textdatei eingelesen werden (Beenden mit Stopp).
Dieser Code führt leider nicht zum Ziel - die Anwendung hängt nach dem Start:
Option Explicit
Public Lauf As Boolean
Sub Schaltfläche1_Klicken()
Lauf = True
Do While Lauf = True
InformationenImportieren
'Verzögerung / Ruhepause
Application.Wait (Now + TimeValue("0:00:05"))
Loop
End Sub
Sub Schaltfläche2_Klicken()
Lauf = False
End Sub
Sub InformationenImportieren()
'Variablen definieren
Dim QuellDatei As String 'SpeicherOrt der TextDatei
Dim Zeile As Integer 'Laufvariable
Dim Inhalt As String 'Inhalt der TextDatei
Dim Informationen() As String 'Array der TextDatei
Dim i As Integer 'Laufvariable 2
'Tabellenblatt aktivieren
ThisWorkbook.Worksheets("PListe").Activate
'Startwerte zuweisen
Zeile = 4
'QuellDatei ansprechen
QuellDatei = "C:\Users\Tmp\Import_Test.txt"
'QuellDatei öffnen
Open QuellDatei For Input As #1
'Informationen in das Tabellenblatt eintragen
Do While Not EOF(1) 'Schleife läuft bis Datenende
'Inhalt der QuellDatei zeilenweise einlesen
Line Input #1, Inhalt
Informationen = Split(Inhalt, ";")
For i = 0 To UBound(Informationen)
ActiveSheet.Cells(Zeile, i + 2) = Informationen(i)
Next
Zeile = Zeile + 1
Loop
'QuellDatei schließen
Close #1
End Sub
Fall jemand einen Hinweis hat, gerne her damit. Danke im Voraus!