Hej, Har inte tillgång till vb, men FSO borde väl fungera? Detta kanske kan vara till hjälp? Tack båda två, det funkar bra med Andreas kod. Fick visserligen göra några anpassningar, men annars var det kalas!Kontrollera fil
Har ett program där följande skall hända.
Var 5:e minut skall programmet se om en förutbestämd fil har ändrats.
Om den har det ska:
1, filen flyttas och få ett nytt namn (datum+tid)
2, en ny (tom) fil skapas där den första filen låg.
och sen är det samma sak igen efter 5 minuter
Det är viktigt att originalfilen inte blir överskriven, dvs det måste vara en kontroll så att filen inte används av ett annat program.
Det står still i min lilla skalle, och det är lite bråttom med att få det klart.
Hoppas att någon vänlig varelse kan peka mig i rätt riktning.Sv: Kontrollera fil
dvs.
startpunkt: kontrollera filstorlek
efter 5 min: jämför objektets nuvarande filstorlek med det sparade värdet
om ändrat: använd move(mv) till en bestämd katalog (borde gå att byta namn i den
operationen, gör det inte det, byt namn efter att du kopierat filen.)
Skapa ett nytt tomt objekt i den ursprungliga katalogen, mha tex createobject.
Vilken filtyp är det du använder?
/EmmaSv: Kontrollera fil
<code>
Public Sub DoStuff()
Dim Pos As Long
Dim FileNo As Long
Dim Prefix As String
Dim NewName As String
Dim FileName As String
FileName = "c:\Test.txt"
If Len(Dir(FileName)) = 0 Then
'Skapar tom fil om fil saknas
FileNo = FreeFile
Open FileName For Output Access Write Shared As FileNo
Close FileNo
ElseIf FileLen(FileName) > 0 Then
'Skapar nytt namn
Pos = InStr(FileName, ".")
Prefix = Mid(FileName, Pos)
NewName = Left(FileName, Pos - 1) & "_" & Format(Now, "yyyymmdd\_hhnnss") & Prefix
'Flyttar fil
Name FileName As NewName
'Skapar tom fil
FileNo = FreeFile
Open FileName For Output Access Write Shared As FileNo
Close FileNo
End If
End Sub
</code>Sv: Kontrollera fil
Underbart :)