Foto&rquo;s hernoemen

Voorbeeldbestanden bij dit artikel:
  • Foto‘s hernoemen
  • Inleiding

    In de categorie "tijdsbesparende macro’s": hoe hernoem je met VBA heel snel heel veel bestanden? En dan doel ik niet alleen op het hernoemen van foto's, filmpjes en afbeeldingen, maar elk bestandstype. Laten we de volgende uitgangssituatie nemen. In kolom A zet je de huidige bestandsnamen, in kolom B zet je telkens de nieuwe bestandsnaam. De code zal al die bestanden dan één voor één afgaan en de naamswijziging uitvoeren. Wordt het oorspronkelijke bestand niet gevonden of treedt er een andere fout op, dan komt er een rood kleurtje omheen ter indicatie.

    Nu, qua code zijn er meerdere mogelijkheden. Het hangt nl. af wat je in kolommen A en B zet:

    • Geef je telkens het pad van het bestand mee op, of niet? Als dat altijd hetzelfde is, is het verstandiger dit niet te doen. Het pad moet dan wel mee in de code opgenomen worden.
    • Geef je telkens de extensie van het bestand mee op, of niet? Als die altijd dezelfde is, is het verstandiger dit niet te doen. Het pad moet dan wel mee in de code opgenomen worden.

    4 codes

    Er zijn m.a.w. 4 mogelijke gevallen. Die worden allemaal behandeld in de code in het voorbeeldbestand. Welke code je kiest hangt dus af van wat je in kolommen A en B zet. Dat varieert van weinig (enkel de bestandsnaam zonder extensie) tot veel (het volledige pad, de bestandsnaam en de extensie).

    Opmerkingen

    Hier zijn nog enkele opmerkingen over het bovenstaande:

    • De code voor het navigeren naar een map komt alweer van de schitterende site van Chip Pearson. In 2 van de 4 gevallen heb je die nodig en moet je ze dus kopiëren naar een module in jouw bestand.
    • Het "Name" statement kan ook gebruikt worden voor het verplaatsen van bestanden; zie het eenvoudige voorbeeldje in de VBA helpfiles hiervoor. De doelmap moet wel gekend zijn.
    • Een goede oefening voor zij die VBA wat willen oefenen en mijn code willen uitbreiden: je kan eens proberen code schrijven, dat indien de cel in kolom B leeg is, dat dan het bewuste bestand (met naam in kolom A) verwijderd wordt.
    • Ik gebruikte op mijn Exceltocht vanavond ook code voor het opsommen van de bestandsnamen in een map: zie hier bij Excel MVP Monika Weber. Die code heb ik zelf aangepast en zit ook mee in een module in het bestandje.
    • Kijk tot slot ook eens hier voor functies om de oude bestandsnaam in kolom A met formules om te vormen tot de nieuwe bestandsnaam in kolom B. Een voorbeeld hiervan staat ook in het bestandje.

    Veel succes ermee!




    Homepage

    Rubriek onderdelen

    Over Wim

    Wim Gielis is Business Intelligence consultant en Excel expert

    Andere links