06. oktober 2008 - 15:19
Der er
2 kommentarer
Kontoller om Csv dilen er blivet opdateret.
Jeg har en plc der tester et emne og genererer et csv fil hver gang den er færdig med en test. Csv filen bliver lagt i samme mappe hver gang. Filen hedder et serienummer bestående af fire cifre, f.eks. 2563, 3562, 1235, osv.... Hvordan kan jeg få Excel til at tjekke om der er kommet et nyt csv fil hvert 10. sekund Det er altså den csv fil der er blevet genereret sidst, som jeg skal bruge. Serienummerere er IKKE kronologiske og serienummer kan optræde igen.
Kortsagt skal koden gå ind i mappen hver 10. sekund og se om der kommet en ny fil. Det skal ikke være baseret på serienummer, men på dato og klokkeslæt.
Tak på forhånd
Jeg håber at du kan hjælpe mig med opgaven.
Mvh
Sarben
15. oktober 2008 - 08:01
#1
Her er lidt kode du kan rode med
Mvh Jesper
--------------- kode start ---------------
Public counter As Integer 'My counter for the example
Public StopTimer As Boolean 'The flag to stop the timer
Public lastfilename As String
Public lastfileupdate As Date 'Date for last fileupdate
Private Sub CommandButton1_Click()
Timer_Start
End Sub
Private Sub CommandButton2_Click()
Timer_Stop
End Sub
Private Sub CommandButton3_Click()
Dim fDate As Date
mypath = "c:\temp\*.gif" ' Set the path.
myname = Dir(mypath)
Do While myname <> ""
fDate = FileDateTime("c:\temp\" + myname)
If Format(fDate, "dd,mm,yy hh:mm:ss") > lastfileupdate Then
lastfileupdate = fDate
lastfilename = "c:\temp\" + myname
Ark1.Cells(1, 1) = lastfilename ' kun for at virke at det virker :-)
End If
myname = Dir
Loop
End Sub
Public Sub Timer_Start()
Timer_Tick
End Sub
Public Sub Timer_Tick()
If StopTimer = True Then 'Exit if the timer is stopped
StopTimer = False
Exit Sub
End If
Call Timer_Kode 'Køre timer koden
' Kalder sig selv om 10 sek
Application.OnTime Now() + CDate(Format("00:00:10", "hh:mm:ss")), "Ark1.Timer_Tick"
End Sub
Public Sub Timer_Kode()
Call CommandButton3_Click
MsgBox "testtimer" ' Din kode
DoEvents
End Sub
Public Sub Timer_Stop()
StopTimer = True
Application.OnTime 0, "Ark1.Timer_Tick", False
End Sub
----------- kode slut ----------