Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ordner auf neue Datei überprüfen

Ordner auf neue Datei überprüfen
16.03.2022 08:26:04
Jasmin
Guten morgen liebe Forumsmitglieder.
ich suche eine Möglichkeit, einen Ordner in einer Netzwerkstruktur auf das Vorhandensein neuer Dokumente zu überwachen (pdf, jpg, doc,....).
Basis der Dokumente ist das Einscannen von Dokumenten über einen Netzwerkdrucker, der die Dokumente automatisch in einem vorgegbenen Netzwerkordner ablegt.
Demnach soll der Ordner Z:\Scan intervallmäßig überwacht werden und beim Vorhandensein einer neuen Datei per Msgbox abfragen,
ob die Datei verschoben werden soll. Beim Bestätigen soll die Datei dort ausgeschnitten und nach Pfad D:\Eingang\ Verschoben werden.
ist sowas per VBA lösbar? Wenn ja, kann mir jemand Unterstützung leisten...
Lieben Gruß und Danke Jasmin
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Ordner auf neue Datei überprüfen
16.03.2022 08:30:16
UweD
Hallo
Also ist der Ordner leer, und alle Dateien die später dort dann aufgefunden werden sind "neu" und sollen abgearbeitet und später verschoben werden?
LG
AW: Ordner auf neue Datei überprüfen
17.03.2022 16:01:47
Jasmin
Ja genau, der Ordner ist leer. Wenn dort etwas positioniert wurde, soll es anschließend ausgeschnitten und verschoben werden. Danach ist der Ordner wieder leer und wartet auf neue Dateien.
Anzeige
AW: Ordner auf neue Datei überprüfen
17.03.2022 17:09:48
UweD
Hallo nochmal
fals noch aktuell dann so?
in ein Modul

Sub Jasmin()
Dim PfadScan As String, PfadEin As String, Datei As String
Dim JaNein, Anz As Integer
'***Vorgaben
PfadScan = "Z:\Scan\"
PfadEin = "D:\Eingang"
'***Ende Vorgaben
'zur Sicherheit ob \ am Ende
PfadScan = Replace(PfadScan & "\", "\\", "\")
PfadEin = Replace(PfadEin & "\", "\\", "\")
Datei = Dir(PfadScan & ".")
Do While Datei  ""
JaNein = MsgBox(Datei & ":  verschieben", vbYesNo + vbQuestion, "Scanüberwachung")
If JaNein = vbYes Then
FileCopy PfadScan & Datei, PfadEin & Datei  'kopieren / werden überschrieben
Kill PfadScan & Datei 'löschen
Anz = Anz + 1
End If
Datei = Dir() ' nächste Datei
Loop
If Anz > 0 Then
MsgBox Anz & "  Dateien verschoben"
Else
MsgBox "Fertig"
End If
End Sub
LG UweD
Anzeige
AW: Ordner auf neue Datei überprüfen
16.03.2022 08:30:42
Jasmin
... Noch eine Kleinigkeit... Gehen hierbei vielleicht auch mehrere Dateien gleichzeitig.....
Frage beantworten...
16.03.2022 10:26:54
UweD
;
Anzeige
Anzeige

Infobox / Tutorial

Ordner auf neue Dateien überwachen und verschieben


Schritt-für-Schritt-Anleitung

Um einen Ordner auf neue Dateien zu überwachen und diese gegebenenfalls zu verschieben, kannst du folgendes VBA-Skript verwenden. Befolge die Schritte:

  1. Öffne Excel und gehe zu Entwicklertools > Visual Basic.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDatei)", dann Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub OrdnerUeberwachen()
       Dim PfadScan As String, PfadEin As String, Datei As String
       Dim JaNein, Anz As Integer
    
       '*** Vorgaben
       PfadScan = "Z:\Scan\"
       PfadEin = "D:\Eingang\"
       '*** Ende Vorgaben
    
       ' Zur Sicherheit ob \ am Ende
       PfadScan = Replace(PfadScan & "\", "\\", "\")
       PfadEin = Replace(PfadEin & "\", "\\", "\")
    
       Datei = Dir(PfadScan & "*.*") ' Alle Dateien im Ordner
       Do While Datei <> ""
           JaNein = MsgBox(Datei & ": verschieben?", vbYesNo + vbQuestion, "Scanüberwachung")
           If JaNein = vbYes Then
               FileCopy PfadScan & Datei, PfadEin & Datei ' Kopieren
               Kill PfadScan & Datei ' Löschen
               Anz = Anz + 1
           End If
           Datei = Dir() ' Nächste Datei
       Loop
    
       If Anz > 0 Then
           MsgBox Anz & " Dateien verschoben"
       Else
           MsgBox "Keine neuen Dateien gefunden."
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Starte das Skript über Entwicklertools > Makros und wähle OrdnerUeberwachen.


Häufige Fehler und Lösungen

  • Problem: Das Skript findet keine Dateien.

    • Lösung: Stelle sicher, dass der Pfad korrekt ist und der Ordner tatsächlich neue Dateien enthält.
  • Problem: Fehlermeldung beim Verschieben.

    • Lösung: Überprüfe die Berechtigungen für den Zielordner. Stelle sicher, dass du Schreibzugriff hast.
  • Problem: MsgBox erscheint nicht.

    • Lösung: Überprüfe die Bedingungen im Code. Stelle sicher, dass die Dateiliste im überwachten Ordner nicht leer ist, bevor das Skript gestartet wird.

Alternative Methoden

Eine weitere Methode, um einen Ordner auf neue Dateien zu überprüfen, könnte die Verwendung von Power Automate sein. Mit dieser Software kannst du automatisierte Workflows erstellen, die bei neuen Dateien in einem bestimmten Ordner Aktionen auslösen, wie z.B. das Verschieben der Datei an einen anderen Ort.


Praktische Beispiele

  • Beispiel 1: Überwache den Ordner Z:\Scan alle 5 Minuten. Füge eine Schleife in den Code ein, um die Überprüfung regelmäßig durchzuführen.

    Application.OnTime Now + TimeValue("00:05:00"), "OrdnerUeberwachen"
  • Beispiel 2: Füge eine Bedingung hinzu, um nur bestimmte Dateitypen (z.B. .pdf, .jpg) zu verschieben.


Tipps für Profis

  • Optimierung: Verwende Application.ScreenUpdating = False, um die Leistung zu verbessern, während das Skript läuft.

  • Erweiterung: Integriere Logging-Funktionalität, um alle verschobenen Dateien in einer Excel-Tabelle zu protokollieren.

Dim LogSheet As Worksheet
Set LogSheet = ThisWorkbook.Sheets("Log")
LogSheet.Cells(LogSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = Datei

FAQ: Häufige Fragen

1. Kann ich mehrere Dateien gleichzeitig verschieben?
Ja, das Skript überprüft alle Dateien im Ordner und bietet die Möglichkeit, sie einzeln zu verschieben.

2. Wie kann ich das Skript automatisch zu einem bestimmten Zeitpunkt ausführen?
Du kannst die Application.OnTime-Methode verwenden, um das Skript zu bestimmten Zeiten oder in Intervallen auszuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige