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

Aktion wenn Datei im Verzeichnis

Aktion wenn Datei im Verzeichnis
Günter
Hallo Zusammen,
ich möchte ein bestimmtes Verzeichnis lfd. überprüfen lassen und eine Aktion ausführen.
D.h., wenn in diesem Verzeichnis eine Datei auftaucht, soll diese Datei in ein anderes Verzeichnis geschoben werden und ein weiteres Makro aufgerufen werden. Dies soll sollange geschehen bis das Verzeichnis leer ist. Anschließend "wartet" das Makro wieder auf neue Dateien und das ganz geschieht von neuem.
Hat von Euch jemand eine Idee?
Gruß
Günter

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Aktion wenn Datei im Verzeichnis
11.02.2010 17:03:42
Tino
Hallo,
versuch mal dies.
Ziel, Quelle und Dateiextension noch anpassen.
Über OnTime wird der Code jede Minute ausgeführt.
kommt als Code in DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
Call StopTimer 
End Sub 
kommt als Code in Modul1
Option Explicit 
Public dTimer As Date 
 
Sub Start_Prozedur() 
    Call StartTimer 
End Sub 
 
Sub Stop_Prozedur() 
    Call StopTimer 
End Sub 
 
Sub StartTimer() 
    dTimer = Now + TimeSerial(0, 1, 0) 'Timer auf eine Minute 
    Application.OnTime dTimer, "Check_Ordner" 
End Sub 
 
Sub StopTimer() 
On Error Resume Next 
    Application.OnTime dTimer, "Check_Ordner", Schedule:=False 
End Sub 
 
Sub Check_Ordner() 
Dim strFile As String 
 
'welche Ordner überwachen 
Const strQuelle As String = "D:\Quelle\" 
'welche Dateien suchen 
Const DateiTyp As String = "*.xls" 
'Ziel, wo sollen die Dateien hin 
Const strZiel As String = "F:\Ziel\" 
 
strFile = Dir(strQuelle & DateiTyp) 
 
On Error Resume Next 'sollte Datei geöffnet sein 
 
Do While strFile <> "" 
 Name strQuelle & strFile As strZiel & strFile 
 strFile = Dir() 
Loop 
 
Call StartTimer 
End Sub 

Gruß Tino
Anzeige
Dateien automatisch zyklisch verschieben
11.02.2010 17:06:55
NoNet
Hallo Günter,
kopiere dazu den folgenden Code in ein allgemeines Modul :
Option Explicit
'11.02.2010, NoNet - www.excelei.de
Dim datZeit As Date 'Zeitpunkt der nächsten Überprüfung - Deklaration für das gesamte Modul
Const strPfad = "C:\Temp\Check\" 'zu überprüfender Ordner - mit "\" am Ende !
Const strPfad2 = "C:\Temp\Test\" 'Ordner, in den Dateien verschoben werden - mit "\" am Ende !
Sub DateienZyklischVerschieben()
'Dieses Makro starten, um die Überprüfung zu starten !
datZeit = Now + TimeSerial(0, 0, 10) 'Alle 10 Sekunden überprüfen
Application.OnTime datZeit, "VerzeichnisPruefen"
End Sub
Sub VerzeichnisPruefen()
Dim strDateiname As String
strDateiname = Dir(strPfad & "*.xls")
Debug.Print Now
While strDateiname  ""
DateiVerschieben (strDateiname)
strDateiname = Dir 'nächsten Dateiname einlesen
Wend
datZeit = datZeit + TimeSerial(0, 0, 10) 'in weiteren 10 Sekunden überprüfen
Application.OnTime datZeit, "VerzeichnisPruefen"
End Sub
Sub DateiVerschieben(strDateiname)
Name strPfad & strDateiname As strPfad2 & strDateiname 'Datei in anderen Ordner verschieben
'Hier evtl. weitere Anweisungen
End Sub
Sub PruefungBeenden()
'Dieses Makro starten, um die Überprüfung zu beenden !
Application.OnTime datZeit, "VerzeichnisPruefen", schedule:=False
End Sub
Das Makro DateienZyklischVerschieben startet den Überprüfungsvorgang, das Makro PruefungBeenden beendet diesen.
Hier im Beispiel wird der Ordner alle 10 Sekunden auf Dateien mit Namen *.xls überprüft.
Die beiden Ordnernamen und die Dateinamen kannst Du entsprechend anpassen....
Frage : Wozu benötigst Du diesen automatischen Prüfungs-/Verschiebe-Mechanismus ?
Gruß, NoNet
Anzeige
SUPER:AW: Dateien automatisch zyklisch verschieben
11.02.2010 17:16:22
Günter
Hallo Tino und NoNet,
danke für Eure Lösung sie funktioniert tadellos.
Ich brauches dieses "Verschieben", da die Routine bei einem User läuft, der nur das Recht hat auf das Zielverzeichnis zuzugreifen.
Nochmals Danke
Günter
Nicht lauffähig...
11.02.2010 17:22:08
Ramses
Hallo
"...der nur das Recht hat auf das Zielverzeichnis zuzugreifen.."
Der Zugriff auf das Quellverzeichnis wird durch VBA auch nicht erlaubt. Das ist Sache des Betriebssystems.
Und wenn, ....hätte MS ein Riesenproblem :-)
Gruss Rainer
AW: Nicht lauffähig...
11.02.2010 17:32:45
Günter
Hallo Rainer,
ja, Du hast recht.
Über das Betriebssystem sind unterschiedliche Rechte auf verschiedene Verzeichnisse vergeben.
Die Excel-Datei 'läuft' über verschiedene User (unterschiedliche Rechte), die ihre Kommentare und Ergänzungen abgeben. Wenn die endgültige Freigabe erfolgt ist, wird die Datei in das "geprüfte" Verzeichnis kopiert auf das alle 'schreiben' können. Von dort wird die Datei über ein Makro, dass vom 'Superuser' gestartet ist in das Zielverzeichnis verschoben. Dort können bis auf den Superuser alle anderen nur lesen.
Ich weis es ist etwas kompliziert. Ein Script würde evtl. auch gehen.
Ich lasse aber bei dem Ereigniss noch PDF, TIF und Sicherungen mit einem ÄnderungsIndex erzeugen.
Gruß
Günter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige