Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Permanentes Auswerten einer externen Datei
#1
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!
Antworten Top
#2
Hallo,

vermutlich legt "Application.Wait" Excel "in Schlaf".

Veruche es mit "Application.OnTime".

https://snb-vba.eu/VBA_Application.OnTime_en.html


mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Wanderfalke
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste