Thema Datum  Von Nutzer Rating
Antwort
27.09.2013 10:58:36 Gregor
NotSolved
27.09.2013 11:54:20 Gast16794
Solved
Rot If Schleife
27.09.2013 12:07:54 Gast60668
NotSolved
27.09.2013 12:09:02 Gregor
NotSolved
27.09.2013 14:27:10 Gast78930
NotSolved

Ansicht des Beitrags:
Von:
Gast60668
Datum:
27.09.2013 12:07:54
Views:
989
Rating: Antwort:
  Ja
Thema:
If Schleife

Hallo

 

Ich versuche derzeit eine Liste zu aktualisieren. Dafür muss ich eine txt. Datei öffnen und eben finden ;) und sie auslesen. Im moment versuche ich nur die datei zu finden und zu öffnen. Ich hoffe es ist einigermaßen verständlich. Wär super wenn du mir irgwie ein wenig weiterhelfen würdest :)

Danke

 

Hier alles was ich bis jetzt habe

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Option Explicit
 
Const strLaufwerk As String = "Z:\\DTSV"
 
Const strCheckinDatName As String = "fCheckInDat"
 
 
 Sub M2_Fahrzeugtyp()
 
    Dim intZeile As Integer
    Dim Pfad As String
 
    Dim strCheckinFullName As String
 
    Dim fs As Object
    Dim fVerz As Object
    'Dim fDatei As Object
    'Dim fDateien As Object
 
    Dim fDir As Object
    Dim fNeuesteDir As Object
    Dim fUnterverz As Object
    Dim strDat As String
    Dim maxDatum As Date
    Dim fCheckInDat As Object
    Dim fDat As Object
     
     
     
    With Tabelle1
        
        intZeile = 2
 
         
        Do While Not IsEmpty(.Cells(intZeile, 1))
  
 
            Pfad = strLaufwerk & "\DTSV_" & .Cells(intZeile, 1) & "\" & _
            .Cells(intZeile, 10) & "\" & .Cells(intZeile, 5)
 
            Debug.Print "Pfad der Zeile " & intZeile & " ist: " & Pfad
 
            Set fs = CreateObject("Scripting.FileSystemObject")
 
            Set fVerz = fs.getFolder(Pfad)
                 
            Set fUnterverz = fVerz.Subfolders
 
            Set fNeuesteDir = Nothing
            maxDatum = 0
             
             
               For Each fDir In fUnterverz
                 
                Debug.Print "Item: " & fDir.Name & " -- " & _
                fDir.DateLastModified
    
             
                          
                If fDir.DateLastModified > maxDatum Then
                    maxDatum = fDir.DateLastModified    ' Neueresjungstes Datum merken
                    Set fNeuesteDir = fDir              ' Neues jüngeres Unterverz.merken
                End If
            Next fDir
             
            Debug.Print "Das neue Verzeichnis ist: " & Pfad & "\" & _
            fNeuesteDir.Name
 
 
     
            Set fVerz = fs.getFolder(Pfad)
            Set fDir = fVerz.Files
              
             Set fCheckInDat = Nothing
                For Each fDat In fDir
                    If InStr(fDat.Name, .Cells(intZeile, 5)) = 1 And (InStr(fDat.Name, "CheckIn.txt") > 0 Or InStr(fDat.Name, "ChekOut.txt") > 0) Then
                        Set fCheckInDat = fDat
                Exit For
                    End If
            Next fDat
             
             If fCheckInDat Is Nothing Then
                MsgBox ("Keine " & .Cells(intZeile, 5) & "_*_CheckIn.txt oder " & .Cells(intZeile, 5) & "_*_CheckOut.txt Datei in " & Pfad & " gefunden!")
                Exit Sub
            End If
             
                         
            strCheckinFullName = Pfad & "\" & fNeuesteDir.Name & "\" & _
            strCheckinDatName
             
            Workbooks.OpenText Filename:=strCheckinFullName, _
                StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
                ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
                Comma:=False, Space:=False, Other:=True, OtherChar:="|", _
                FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
 
 
            MsgBox "Datei " & strCheckinFullName
 
            
            Workbooks(strCheckinDatName).Close SaveChanges:=False
 
                 
                intZeile = intZeile + 1
        Loop
 
    End With
 
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.09.2013 10:58:36 Gregor
NotSolved
27.09.2013 11:54:20 Gast16794
Solved
Rot If Schleife
27.09.2013 12:07:54 Gast60668
NotSolved
27.09.2013 12:09:02 Gregor
NotSolved
27.09.2013 14:27:10 Gast78930
NotSolved