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

Fortlaufende Nr. von Dateien in VZ

Fortlaufende Nr. von Dateien in VZ
14.09.2022 09:00:58
Dateien
Hallo,
kann mir jemand vielleicht bezüglich einer fortlaufenden Nummerierung von Dateien innerhalb eines Verzeichnisses helfen.
Ich habe in einem Ordner Dateien vorliegen, die nach dem Muster (Bild_0001.jpg, Bild_0002.jpg) gespeichert sind. In diesem Ordner sollen immer wieder neue Bilder zugespeichert werden, die Nummerierung soll hierbei dann automatisch fortgeführt werden. (Also nächstes Bild Bild_0003.jpg usw).
Das mit dem Speichen klappt, allerdings bräuchte ich eine Nummerierungsfortführung.
Von Nepumuk habe ich mal einen Code gefunden, der sowas bewirken soll.
Leider funktioniert er nicht auf mein Beispiel:

Dim Dateiname As String, Nummer As Integer, Dateinummer As String
Dateiname = Dir(MeinVerzeichnis)
Do While Dateiname  ""
If Left(Dateiname, 5) = "Bild_" Then
If Nummer 
Ist Dateinummer am Ende die Variable, die angehängt werden muss?
Wie muss ich den Code abändern, damit das bei mir funktioniert?
Vielleicht könnte mir jemand in der Angelegenheit kurz weiterhelfen.
Besten Dank

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortlaufende Nr. von Dateien in VZ
14.09.2022 10:55:20
Dateien
Hallo
den letzten Teile deines Codes, das komplizierte Umwandeln in Dateinummer habe ich nicht verstanden!!?
Höfliche Frage: - Bei Do Loop suchst du doch die höchste vorhandene Nummer aller Dateien, oder nicht?
Dann mach es nach Do Loop doch einfach so: - Dateinummer = Nummer +1
mfg Piet
AW: Fortlaufende Nr. von Dateien in VZ
14.09.2022 11:02:38
Dateien
Funktioniert irgendwie nicht. Ich denke, dass das "Zerteilen" des Dateinamens nicht funktioniert...denn irgendwie muss ich doch auf die datei kommen, die den höchsten Zähler hat.
AW: Fortlaufende Nr. von Dateien in VZ
14.09.2022 11:42:04
Dateien
Hallo
dann versuche bitte die angehängte Nummer so heraus zufiltern. Je nachdem ob du die Zahl mit "-" oder Space angehangen hast!
mfg Piet
  • 
    Sub Nummer()
    'Nummer je nach Endung wählen!!
    Nummer = Trim(Mid(dateiname, InStrRev(dateiname, "_") + 1))   'für "_"
    Nummer = Trim(Mid(dateiname, InStrRev(dateiname, " ") + 1))    'für Space
    End Sub
    

  • Anzeige
    AW: Fortlaufende Nr. von Dateien in VZ
    14.09.2022 12:10:02
    Dateien
    
    Sub Zaehlen ()
    Dim Dateiname As String, Nummer As Integer, Dateinummer As String
    Dateiname = Dir("E:\Test\")
    Do While Dateiname  ""
    Nummer = Trim(Mid(Dateiname, InStrRev(Dateiname, "_") + 1))   'für "_"
    Dateiname = Dir
    Loop
    MsgBox Nummer
    end sub
    
    Mit dieser Lösung kommt immer nur 0 heraus. Kann es sein, dass er die Dateien nicht durchsucht?
    AW: Fortlaufende Nr. von Dateien in VZ
    14.09.2022 12:26:41
    Dateien
    naja, um dir zu sagen, was du ändern musst, müsstest du uns schon genauer sagen, wie sich das "funktioniert nicht" bemerkbar macht (also konkreter beschreiben, was genau passiert) und vielleicht auch konkreter beschreiben, wie die daten bei dir genau vorliegen.
    also ob sie tatsächlich "Bild_0001" heißen, oder ob "Bild" auch mal was anderes sein kann.
    der Code von Nempumuk ist halt genau auf "Bild_" ausgelegt, alle anderen Dateinamen werden ignoriert
    und ja, Dateinummer ist die Variable, die du dann anhängen musst.
    die Frage wäre auch, ob du die Variable MeinVerzeichnis im Vorfeld richtig belegt hast.
    diese muss mindesten dem entprechen, dh mit dem Joker am Ende "LW-Buchstabe:\Ordner\...\*"
    ich würde DIR sogar so befüllenwenn "Bild_" der tatsächliche Anfang ist: "LW-Buchstabe:\Ordner\...\Bild_?.jpb"
    dann bekommst du von DIR automatisch nur Dateien ausgegeben, die diesem Schema entsprechen und du kannst dir weitere IF_Prüfungen sparen.
    ebenso lässt sich die vierstellige Nummer einfacher erzeugen.
    also als ganzes etwa so:
    
    dim Nr as Long
    dim Verzeichnis as String
    dim SpeicherName as string
    dim Datei as string
    dim txt as string
    Verzeichnis = "C:\Ordnername\" '--- anpassen
    Datei = Dir(Verzeichnis & "Bild_?.jpg")
    Do Until Datei = ""
    txt = mid(Datei, 6, 4)
    if Val(txt) > Nr Then Nr = Val(Txt)
    Datei = Dir()
    Loop
    Nr = Nr + 1
    Speichername = Verzeichnis & "Bild_" & Format(Nr, "0000") & .jpg
    
    es gibt aber auch einen anderen Ansatz, die Aufgabe zu lösen:
    
    dim Verzeichnis as String
    dim SpeicherName as string
    dim i as long
    For i = 1 to 9999
    SpeicherName = "C:\Ordner\Bild_" & Format(i, "0000") & ".jpg"
    if Dir(SpeicherName) = "" Then Exit for
    next
    if i = 10000 then
    Msgbox "alle Speichernamen vergeben"
    Else
    msgbox SpeicherName
    end if
    
    wenn die Schleife durchgelaufen ist, hast du deinen Speichernamen.
    diese Methode würde allerdings bei Lücken zuerst die Lücken finden und füllen.
    hast du also "Bild_0001" und "Bild_0003", dann würde die erste Methode "Bild_0004" ermitteln, die zweite "Bild_0002"
    Dh du solltest die Entscheidung, welche Methode du verwendest, an Hand des gewünschten Verhaltens in diesem Fall fällen.
    Gruß Daniel
    Anzeige
    AW: Fortlaufende Nr. von Dateien in VZ
    14.09.2022 13:14:53
    Dateien
    Hey, das hat jetzt geklappt - top vielen vielen Dank!!! Damit kann ich weiterarbeiten !
    Liebe Grüße

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige