Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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

TSV Dateien auslesen.

TSV Dateien auslesen.
27.10.2015 15:52:23
Donfugo
Hallo Zusammen,
Problem:
Ich möchte eine Datei TSV mit Excel VBA auslesen. Diese sollte am Besten dabei nicht geöffnet werden, da eine Messanlage da automatisch immer Daten zeilenweise reinschreibt. Diese Daten möchte ich regelmässig auslesen (alle 30s bis 2 min). Dabei soll dann immer nur die Änderung ausgelesen werden. Gibt es da eine möglichkeit?
Für die wiederholung hab ich mir eine Schleife gedacht:
  • Sub upcounter()
    zeit = Now + TimeValue("00:00:2")
    Application.OnTime zeit, "upcounter"
    End Sub
    

  • Vielen Dank schonmal für die Hilfe

    10
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: TSV Dateien auslesen.
    27.10.2015 16:41:54
    Armin
    Hallo,
    aus geschlossenen Files kannst Du keine Daten lesen. Wird denn die Datei zwischendurch geschlossen?
    Und was für ein Zyklus werden die Messdaten denn gespeichert? Und natürlich wie sieht denn die Datei aus (Muster)?

    AW: TSV Dateien auslesen.
    27.10.2015 16:46:36
    Daniel
    Hi
    wenn das ein Textdatei ähnlich CSV oder so ist, könntest du sie über die Importfunktion einlesen (Daten - Externe Daten - Aus Text)
    in den Import-Eigenschaften (Schritt "4" des Importassistenten, oder nächträglich über das Kontextmenü) kannst du dann auch die automatische Aktualisierung und das Intervall einstellen (ein Makro wird nicht benötigt).
    die Datei wird dabei nur ausgelesen, aber nicht zum Schreiben geöffnet.
    Gruß Daniel

    Anzeige
    AW: TSV Dateien auslesen.
    27.10.2015 17:13:57
    Donfugo
    Hey,
    ja es handelt sich um eine Textdatei die durch Tabs gedrennt ist Muster:
    https://www.herber.de/bbs/user/101076.txt
    Bei dieser wird alle 30s bis 2 min(ist verschieden) eine Zeile hinzugefügt. Dieses wird durch eine anderes Programm im Hintergrund erledigt. Wenn die Datei offen ist kann das Proramm im Hintergrund keine Daten in die Datei schreiben. Aber eventuell hat das kurze auslesen von Excel gar keinen Einfluss.
    Über den Assistenten (gibt leider nur 3 von 3 Schritten) wurde der 4te nicht angezeigt.
    Würde dieses doch lieber gerne über Vba auslesen.
    Ziel ist (arbeite ich grad dran) eine Datei anwählen. Die Daten der Datei wird alle 20 sec ( _ Zeit einstellbar) ausgelesen und die Daten in ein Sheet geschrieben. Beim nächchsten auslesen sollen nur die Daten des Sheets aktualiesiert werden und nicht erneut alles eingefügt. Mein bisheriger Versuch die Datei auszulesen sieht so aus:
    
    Sub importdata()
    Dim i As Integer
    Dim SelItem
    With Application.FileDialog(msoFileDialogFilePicker)
    .Filters.Clear
    .Filters.Add "Text Dateien", "*.csv; *.txt", 1
    .AllowMultiSelect = True
    If .Show  -1 Then Exit Sub
    For Each SelItem In .SelectedItems
    Workbooks.OpenText Filename:=SelItem, Local:=True
    ActiveSheet.UsedRange.Copy ThisWorkbook.Sheets("Data").Cells(Rows.Count, 1).End(xlUp). _
    Offset(1, 0)
    ActiveWorkbook.Close False
    Next SelItem
    End With
    End Sub
    
    Grüße

    Anzeige
    AW: TSV Dateien auslesen.
    27.10.2015 17:20:15
    Donfugo
    Nachtrag :D
    Mir kommt gerade es reicht ja wenn der die Datei einfach neu ausliest und einfügt. Wie kann ich (wie im vorigen Beispiel beschrieben) die Datei anwählen und mir merken (in Variable etc.). Also sicher stellen das die so eben angewählte Datei immer verwendet wird?
    Danke

    AW: TSV Dateien auslesen.
    27.10.2015 17:23:17
    Donfugo
    Aktiv

    AW: TSV Dateien auslesen.
    27.10.2015 18:12:57
    Esmo
    Moin Donfugo,
    wenn Du nur eine Datei auslesen willst, solltest Du vorbauen und .AllowMultiSelect = False
    nehmen.
    Gruß
    Ralph

    AW: TSV Dateien auslesen.
    28.10.2015 08:38:44
    Donfugo
    Hi Ralph,
    ja danke. Aber funktioniert mit beidem. SO hab ich die Wahl ob ich eine oder mehrere nutzen will

    Anzeige
    AW: TSV Dateien auslesen.
    27.10.2015 19:48:43
    Daniel
    Hi
    der 4. Schritt ist, wenn er dich nach dem 3. Schritt fraget, ab welcher Zelle er die Daten importieren soll. es steht zwar nicht "Schritt 4" drüber, ist aber das 4. Fenster, in dem du was ausfüllen musst.
    ich bin weiterhin der Meinung, dass diese Funktion genau das macht was du willst und dafür keine VBA-Programmierung notwendig ist.
    Gruss Daniel

    AW: TSV Dateien auslesen.
    28.10.2015 08:40:58
    Donfugo
    Hallo Daniel,
    prinzipiell hast du Recht. Da aber später diverse Kunden das Programm auf verschiedenen anlagen verwenden soll. Sollte das "kundenfreundlicher" gestaltet werden.
    vg
    Don

    AW: TSV Dateien auslesen.
    28.10.2015 10:11:25
    daniel
    Hi
    wenn du solche Dateiauslesungen programmieren willst, dann schau dir mal den Anweisungskomplex
    OPEN, INPUT, LINE INPUT
    an. Damit kann man solche Dateien zeilenweise auslesen.
    du kannst auch die Dateien normal mit Workbook.Open bzw Workboo.OpenText öffen um die Daten per Copy-Paste zu übernehmen.
    Um sicher zu stellen, dass die automatische Aktualisierung dieser Dateien durch das Fremdsystem nicht behindert wird, öffnet man die Dateien schreibgeschützt (Parameter ReadOnly:=True)
    Gruß Daniel
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige