Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateien/Bilder von zwei Laufwerken einlesen

Dateien/Bilder von zwei Laufwerken einlesen
18.02.2004 21:00:46
Rolf
Ich habe ein Kartenlesegerät. Je nach Karte wird das Laufwerk F: oder H: angesteuert. Je nach Digitalkamera ist vor der genaue Unterordner namentlich nicht bekannt. Auch kann es sein, daß automatisch zwei UnterOrdner angelegt werden.
Ich möchte jetzt beide Laufwerke durchsuchen und die Bilder auf c:\Bildereinfügen\ kopieren. dateiendung ist .jpg
Eine Fehlerroutine (wenn keine Karte im Laufwerk) ist nicht erforderlich.
Ich hoffe ich habe mich veständlich ausgedrückt. Ich hatte schon mal so eine ähnliche Frage, allerdings aus einem Ordner heraus kopieren. Meine kläglichen VBA kenntnisse reichen da nicht aus...

Hoffe ich habe mich verständlich ausgedrückt.
mfg
Rolf

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien/Bilder von zwei Laufwerken einlesen
18.02.2004 21:21:49
Ramses
Hallo
ist zwar ungetestet aber probier mal


Sub Find_Files_for_Backup()
Dim As Long, totFiles As Integer
Dim gefFile As String, dname As String
Dim Suchpfad As String, Suchbegriff As String, Dateiform As String
Dim oldStatus As Variant, msgTxt As String, Qe As Variant
Dim myFSO As Object
Set myFSO = CreateObject("Scripting.FileSystemObject")
Suchpfad = InputBox("Geben Sie den Ordner an, der durchsucht werden soll:", "Pfad definieren", Application.DefaultFilePath)
If Suchpfad = "" Then Exit Sub
Dateiform = InputBox("Geben Sie den Dateityp an der gesucht werden soll", "Dateierweiterung", "*.jpg")
If Dateiform = "" Then Exit Sub
'Bildschirmaktualisier abschalten
Application.ScreenUpdating = True
'Text der Statusbar und alten Status aufnehmen
oldStatus = Application.StatusBar
'Start der Suchroutine
With Application.FileSearch
    .NewSearch
    .LookIn = Suchpfad
    .TextOrProperty = Suchbegriff
    .SearchSubFolders = True
    .FileType = Dateiform
    If .Execute() > 0 Then
        totFiles = .FoundFiles.Count
        'Ausgabe in Statusbar
        Application.StatusBar = "Total " & totFiles & " gefunden"
        For i = 1 To .FoundFiles.Count
            gefFile = .FoundFiles(i)
            myFSO.MoveFile gefFile, "C:\Bildereinfügen\" & Right(gefFile, Len(gefFile) - InStrRev(gefFile, "\", -1))
        Next i
    End If
End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruss Rainer
Anzeige
AW: Dateien/Bilder von zwei Laufwerken einlesen
18.02.2004 21:26:35
Rolf
Bedanke mich erst mal, probiers aus, kann aber erst morgen das Ergebnis hier einstellen.
Gruß Rolf
Korrektur wegen Office 97
18.02.2004 21:29:18
Ramses
Hallo
ich habe nicht gesehen, dass du Office 97 verwendest.
Dort funktioniert der Code nicht. Da musst du das verwenden.



Sub Find_Files_for_Backup()
Dim As Long, n As Integer, totFiles As Integer, tmps As Integer
Dim gefFile As String, dname As String
Dim Suchpfad As String, Suchbegriff As String, Dateiform As String
Dim oldStatus As Variant, msgTxt As String, Qe As Variant
Dim myFSO As Object
Set myFSO = CreateObject("Scripting.FileSystemObject")
Suchpfad = InputBox("Geben Sie den Ordner an, der durchsucht werden soll:", "Pfad definieren", Application.DefaultFilePath)
If Suchpfad = "" Then Exit Sub
Dateiform = InputBox("Geben Sie den Dateityp an der gesucht werden soll", "Dateierweiterung", "*.jpg")
If Dateiform = "" Then Exit Sub
'Bildschirmaktualisier abschalten
Application.ScreenUpdating = True
'Text der Statusbar und alten Status aufnehmen
oldStatus = Application.StatusBar
'Start der Suchroutine
With Application.FileSearch
    .NewSearch
    .LookIn = Suchpfad
    .TextOrProperty = Suchbegriff
    .SearchSubFolders = True
    .FileType = Dateiform
    If .Execute() > 0 Then
        totFiles = .FoundFiles.Count
        'Ausgabe in Statusbar
        Application.StatusBar = "Total " & totFiles & " gefunden"
        For i = 1 To .FoundFiles.Count
            gefFile = .FoundFiles(i)
            tmps = 0
            'Extrahieren des Dateinamens für O97
            'Nicht nötig für E2000 und höher
            For n = 1 To Len(gefFile)
                If Mid(gefFile, n, 1) = "\" Then
                    tmps = n
                End If
            Next n
            'Für O97
            myFSO.MoveFile gefFile, "C:\Bildereinfügen\" & Right(gefFile, Len(gefFile) - tmps)
            'Für Excel 2000 und höher
            'myFSO.MoveFile gefFile, "C:\Bildereinfügen\" & Right(gefFile, Len(gefFile) - InStrRev(gefFile, "\", -1))
        Next i
    End If
End With
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5


Gruss Rainer
Anzeige
AW: Korrektur wegen Office 97
19.02.2004 22:40:36
Rolf
Hallo,
also ich verwende eigentlich Office 97 und 2002. Die erste Lösung von euch funktionierte bei XP auch nicht. Ich hab die Inputbox für die Dateiendung jpg einfach weggelassen
und lese mit msoFileTypeAllFiles alle Dokumente aus. Das ist für meine Zwecke voll ausreichend.
Die Korrektur probiere ich natürlich auch noch aus.
Erstmal vielen Dank.

Gruß Rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige