Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Suche VBA Hilfestellung für Autoimport mehre TXT zum auswerten

Frage Microsoft Windows Tools

Mitglied: Vidan011

Vidan011 (Level 1) - Jetzt verbinden

01.04.2014, aktualisiert 03.04.2014, 2782 Aufrufe, 3 Kommentare

Schönen guten Tag Community,


01.
Sub Input_Files_From_Path() 
02.
 
03.
Dim strPfad     As String 
04.
Dim strDatei    As String 
05.
Dim intFF       As Integer 
06.
Dim strText     As String 
07.
Dim wks         As Worksheet 
08.
 
09.
Set wks = Tabelle1                                      
10.
strPfad = "M:\test\test1"    'hier liegen die files (serververzeichnis) 
11.
strDatei = Dir(strPfad & "*.txt")     'auswahl das es txt sind                  
12.
 
13.
Do While strDatei <> "" 
14.
    intFF = FreeFile() 
15.
    Open strPfad & strDatei For Input As #intFF 
16.
        strText = Input(LOF(1), #intFF) 
17.
    Close #intFF 
18.
    
19.
    WriteToClp strText 
20.
    
21.
    With wks 
22.
        With .Cells(Rows.Count, 1).End(xlUp).Offset(1) 
23.
            .Value = 1 
24.
            .TextToColumns .Cells(1), Comma:=True   'komma als trennung 
25.
            wks.Paste .Cells(1) 
26.
        End With 
27.
    End With 
28.
    
29.
    strDatei = Dir() 
30.
Loop 
31.
 
32.
End Sub 
33.
 
34.
Public Sub WriteToClp(txt As String) 
35.
Dim IE As Object 
36.
Set IE = CreateObject("HTMLfile") 
37.
IE.ParentWindow.ClipboardData.SetData "text", txt & "" 
38.
Set IE = Nothing 
39.
End Sub 
40.
 

Es sind mehre text die immer den selben Inhalt haben:
1,1,37,37,469,495,0,495,0,508,0,38,1,508,0,482,0,37

Die Anzahl ist immer die selbe es kann aber auch Text sein der darin steht.

Eine TxT kan mehre untereinander geschriebene Zeilen haben.
Quasi von Oben nur anderen Zahlen.

Mit einzelnen TXT Files mit nur 1ner Zeile Inhalt funktioniert das, aber so nicht weshalb auch immer.

Wenn noch jemand einen string hätte damit ich das Verzeichnis weglassen kann und das ganze immer im Verzeichnis ausgeführt wird indem das Sheet liegt, wäre Prima.


Viele grüße euer Vidan

Mitglied: 115420
LÖSUNG 02.04.2014, aktualisiert 03.04.2014
Hallo Vidan011!

Versuchs mal damit:
01.
Option Explicit 
02.
 
03.
Private Const sSheetName = "Tabelle1" 
04.
 
05.
Sub Input_Files_From_Path() 
06.
    Dim oFso As Object, oFile As Object 
07.
     
08.
    Set oFso = CreateObject("Scripting.FileSystemObject") 
09.
     
10.
    Application.ScreenUpdating = False 
11.
     
12.
    For Each oFile In oFso.GetFolder(ThisWorkbook.Path).Files 
13.
        If LCase(oFso.GetExtensionName(oFile.Name)) = "txt" Then 
14.
            Call TextImport(oFile.Path) 
15.
        End If 
16.
    Next 
17.
 
18.
    Application.ScreenUpdating = True 
19.
End Sub 
20.
 
21.
Private Sub TextImport(ByRef sFileName) 
22.
    Dim iRowNext As Long 
23.
     
24.
    With Sheets(sSheetName) 
25.
        iRowNext = .Cells(.Rows.Count, "A").End(xlUp).Row 
26.
         
27.
        If Not IsEmpty(.Range("A1")) Then 
28.
            iRowNext = iRowNext + 1 
29.
        End If 
30.
         
31.
        With .QueryTables.Add(Connection:="TEXT;" & sFileName, Destination:=.Cells(iRowNext, "A")) 
32.
            .AdjustColumnWidth = True  'Spaltenbreite automatisch anpassen True/False 
33.
            .TextFilePlatform = 1252 
34.
            .TextFileTextQualifier = xlTextQualifierNone 
35.
            .TextFileParseType = xlDelimited 
36.
            .TextFileCommaDelimiter = True 
37.
            .Refresh BackgroundQuery:=False 
38.
            .Delete 
39.
        End With 
40.
    End With 
41.
End Sub
Wobei sich die Text-Dateien im gleichen Ordner befinden müssen, wie die Arbeitsmappe.

Grüße

Der Ratsuchende
Bitte warten ..
Mitglied: Vidan011
03.04.2014 um 12:25 Uhr
Guten Tag,

sieht TOP aus :D Funktionieren tut das ganze genau so wie Gewünscht!

Aber ich hatte schon Probleme mit meinem VBA Model, bei dir steig ich garnichtmehr durch :D

*wieder ab ans lernbuch*

Grüße Vidan
Bitte warten ..
Mitglied: 115420
LÖSUNG 03.04.2014, aktualisiert 04.04.2014
Hallo Vidan!

Freut mich, wenn es wie gewünscht funktioniert

Also, diese Klasse unterstützt die neueren und umfangreicheren Dateisystem-Funktionen.
01.
Dim oFso As Object 
02.
Set oFso = CreateObject("Scripting.FileSystemObject") 
Diese Klasse kannst Du auch über den Object-Katalog>Klassen>Rechtsklick>Verweise einbinden. Die Klasse trägt den Namen 'Microsoft Scripting Runtime'. Um alle verfügbaren Funktionen zu erfahren, wählst Du im Object-Katalog im obersten Auswahlfeld anstatt <Alle Biblitheken> einfach <Scripting> aus.

Die Deklaration würde nach Einbindung der Klasse dann so lauten:
01.
Dim oFso As FileSystemObject 
02.
Set oFso = New FileSystemObject
Die Funktion QueryTable entspricht der Funktion 'Externe Daten abrufen' in der Excel-Oberfläche>Daten. QueryTable bietet eine ganze Reihe von Möglichkeiten(Text-Import, Webabfragen...). Von daher macht es durchaus Sinn, mal ein Makro mit den gewünschten Optionen (Abfrage speichern) aufzuzeichnen und sich anschließend den Code anzusehen. Als letzte Anweisung sollte immer das '.Delete' folgen, weile ansonsten jede einzelne Abfrage gespeichert und dadurch Zellbereiche mit einer Abfrage belegt werden (rotes Ausrufezeichen zum aktualisieren), was nicht erwünscht ist, weil es ja keine konstanten Abfragen, also immer gleiche Text-Dateien mit gleicher Zeilenanzahl sind...

Grüße

Der Ratsuchende
Bitte warten ..
Ähnliche Inhalte
Router & Routing
Hilfestellung
gelöst Frage von SauBaer2014Router & Routing4 Kommentare

Hallo erst einmal Es gibt so Themen, bei den ich wohl noch eine Menge lernen muss! Momentan habe ich ...

Microsoft Office
Txt. Datei in Excel auswerten und Gruppieren
Frage von LucaMarcMicrosoft Office5 Kommentare

Hallo liebe Administrator Community, dies hier ist mein erster Beitrag und direkt eine Frage. Ich habe das Problem das ...

Windows Server
Hilfestellung bei Rootserveradministration
Frage von GenderWindows Server2 Kommentare

Hallo, ich möchte, muß einen Mietserver aufsetzen, da die lokalen Internetverbindungen zu langsam sind(für Server at home) oder keinen ...

Batch & Shell
Wert in einer TXT Datei suchen
Frage von nolle99Batch & Shell11 Kommentare

Hallo Leute Ich habe ein Problem Ich habe mir von meiner Seite alle URLs in einer TXT gespeichert (30.000 ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 StundeWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 8 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 9 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1012 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Heiß diskutierte Inhalte
Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server22 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen19 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Logging von "gesendeten Nachrichten" auf Terminalservern
gelöst Frage von Z3R0C0MM4N0THiN6Windows Server10 Kommentare

Hallo zusammen, kann mir jemand auf kurzem Wege sagen ob 1) die per Task-Manager (oder damals tsadmin) an Benutzer ...