Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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
Inhaltsverzeichnis

Textdatei als Endlosschleife einlesen (2)

Textdatei als Endlosschleife einlesen (2)
16.11.2016 05:55:22
Rainer
Hallo Fennek,
hier nun die Weiterleitung von dem letzten Beitrag:
https://www.herber.de/cgi-bin/callthread.pl?index=1523976
Frage am Rande: Warum verschwindet ein Beitrag, der nicht "fertig" war?
Egal, weiter zu deinen offenen Fragen:
Die 3 Dateien stammen von 3 Messgeräten, die simultan auf verschiedenen Positionen messen. Es entstehen also etwa alle 2 Sekunden alle 3 Dateien neu. Allerdings kann man diese Zeit in der Messsoftware einstellen, so dass auch längere Intervalle denkbar sind. Ich hatte in der ursprünglichen Frage 2 Varianten angesprochen:
1. Prüfen ob Quelldatei ein neues Änderungsdatum hat?
oder 2. Einlesen mit fest definiertem Zeitinterval?
Welche Variante ist für VBA die elegantere?
Viele Grüße,
Rainer

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textdatei als Endlosschleife einlesen (2)
16.11.2016 08:46:57
Martin
Hallo Rainer,
abgesehen davon, dass das Forum noch keine KI besitzt, die den Kontext der Beiträge versteht, verschwinden die Beiträge in chronologischer Reihenfolge in der Regel erst nach mehreren Tagen (ca. einer Woche).
Auch lese Textdateien an und habe deine beiden Varianten kombiniert. Ich prüfe in einem Intervall per FileDateTime, ob das Dateidatum sich geändert hat und falls das der Fall ist, wird meine Textdatei neu eingelesen.
Viele Grüße
Martin
AW: Schleife zum Einlesen
16.11.2016 09:47:48
Fennek
Hallo Rainer,
hier der Entwurf eines Codes zum Einlesen von 3 csv-Dateien, die alle ca 2 Sekunden erneuert werden. Falls in xl Eingaben von Hand gemacht werden, kann dies das Timing stören.
Bitte versuche zuerst den Code zu verstehen und nimm die nötigen Anpassungen, z.B. Pfad oder die Wiederholungsrate, vor.
Wenn das Einlesen klappt, die Berachnung liegt ja bereits vor, kann man den Export der Ergebnisse anhängen. Falls möglich wären längere Intervalle (10 Sekunden?) besser.

Public Datei(2) As String
Public SpeicherZeit(2) As Date
Sub Start()
'starten BEVOR das Messen beginnt
Dim i As Integer
Datei(0) = "c:\tmp\x1.csv"
Datei(1) = "c:\tmp\x2.csv"
Datei(2) = "c:\tmp\x3.csv"
For i = 0 To 2
SpeicherZeit(i) = FileDateTime(Datei(i))
Next i
End Sub
Sub Einlesen()
Dim i As Integer
Dim WB As Workbook
Dim Import As Worksheet
Set Import = ThisWorkbook.Sheets("Import")
Debug.Print "neu"
Sp = Array(2, 5, 8)
For i = 0 To 2
If FileDateTime(Datei(i)) > SpeicherZeit(i) Then
Set WB = Workbooks.Open(Datei(i), , , , , , , , ",")
lr = WB.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row
WB.Sheets(1).Range(WB.Sheets(1).Cells(1, 1), WB.Sheets(1).Cells(lr, 2)).Copy Import. _
Cells(8, Sp(i))
Import.Cells(6, Sp(i)) = WB.Sheets(1).Name
SpeicherZeit(i) = FileDateTime(Datei(i))
WB.Close
Set WB = Nothing
End If
DoEvents
Next i
If Import.Cells(1, 1) = 0 Then Application.OnTime Now + TimeValue("00:00:02"), "Einlesen"
End Sub
mfg
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige