• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

code voor o.a. Rename bestand

Status
Niet open voor verdere reacties.

jansm

Gebruiker
Lid geworden
2 apr 2014
Berichten
421
Hallo dames, heren ook

Ik heb een bepaalde folder met daarin een 100-tal bestanden met de naam XX_2014-05-26_xyz.csv. Deze wil ik graag met een vba stuk voor stuk openen en

- renamen in 2014-05-26
- naam van 1e sheet veranderen in Sheet1
- en opslaan als .xlsx

Kan iemand mij helpen?
Mvg, Jansm
 
Probeer even uit te leggen wat je wil. Een bestandsnaam mag maar één keer voorkomen in een map. Het nut van de de naam wijzigingen van de 1e sheet in Sheet1 ontgaat mij even.
 
Hallo VenA,

xx....xyz varieren in de bestandsnaam met de extensie .csv. Deze tekens dienen verwijderd te worden in de naam. Dus procedure moet bevatten:
- openen xx-2014-05-18_xyz.csv
- verwijderen van xx- en _xyz in de bestandsnaam
- de eerste sheet krijgt van de logger een lange sheetnaam die ook variabel is. Die wil ik vereenvoudigen door in alle bestanden de eerste sheet Sheet1 te noemen
- file wegschrijven als .xlxs

De bestanden zijn met excel gewoon in te lezen al lijken het tekst (csv) bestanden.

Ben ik nu duidelijk?
 
Waarschijnlijk kan ik je niet met je vraag helpen, maar je geeft geen antwoord op de vraag van VenA.

Code:
Een bestandsnaam mag maar één keer voorkomen in een map.

Het je een 100-tal bestanden met allemaal een verschillende datum?

Of heb je een 100-tal bestanden met dezelfde datum?
 
Code:
sub M_snb()
  sn=split(createobject("wscript.shell").exec("cmd /c Dir G:\OF\*.csv /b").stdout.readall,vbcrlf)

  for j=0 to ubound(sn)-1
     name "G:\OF\" & sn(j) As split(sn(j),"_")(1) & ".csv"
  next
End Sub
 
Hallo allen, bedankt voor jullie reactie.
Snb, totale abacadabra voor mij. Misschien wil je mij de regels uitleggen?

Ik heb een serie tekst dag-data-bestanden (csv). Elk bestand is door een datalogger gevuld met data en per dag opgeslagen. Elk bestand heeft een unieke naam, XX_jjjj-mm-dd_xyz.csv. De bedoeling is dat deze bestanden één voor één

- worden ingelezen (gescheiden in kolommen),
- de 3 tekens vóór (XX_) en 4 tekens achter (_xyz) het datum deel van de bestandsnaam verwijderd worden,
- het bestand opgeslagen wordt als .xlsx

Mvg, Jansm
 
Misschien kun jij de code eerst testen ?
 
Hallo Snb,
heb ik al gedaan. Met F8 stapsgewijs erdoor heen gegaan. De code wordt goed doorlopen. Na de eerste regel komt een schermpje dat gelijk weer verdwijnt (tekort om er iets op te zien) en verder gebeurt er niets.
 
Mag ik je een héle raadzame tip geven? Maak éérst een kopie van de complete map met bestanden voordat je welke VBA code dan ook gaat uitproberen. Mocht er een fout zitten in het programma dat je wordt aangeboden, kan het ernstig mis lopen met de gegevens die je waarschijnlijk niet wilt verliezen. ;)
 
Had je al wel het pad G:\OF\ aangepast ?

Als ja, dan zie je dat alle CSV-bestanden in die directory hernoemd zijn zoals jij het wil.
Opslaan als xlsx-bestand is niet nodig, want als je een CSV bestand in Excel opent, wordt alles automatisch voor je aangepast alsof het een Excel-bestand was. Ook de naam van het werkblad wordt automatisch aangepast.
 
Laatst bewerkt:
ik had alleen G:\ vervangen!!!!!
Hij doet het, alleen nog graag 1 verandering.
De CSV file kan nu idd geopend worden in excel, data wordt in kolommen geplaatst, maar het blijft een CSV-bestand. Toch zou ik hem graag als xlsx gesaved willen hebben. Kan dat?
 
Dat kan; maar kun je toelichten waartoe ?
 
Ja hoor. Data moet verder verwerkt worden met macro die xlsx bestanden leest
 
Een macro kan gegevens uit csv-bestanden nog veel sneller verwerken.
 
Ik zit vast aan een macro die xlsx bestanden leest. Deze kan/mag ik niet delen met anderen.
 
Je kunt altijd vertellen wat de macro moet doen en wat het resultaat moet zijn.
 
Hij voert berekeningen uit met data in bepaalde kolommen, andere kolommen worden gedelete en er wordt data in grafieken gepresenteerd. Sorry voor deze terughoudendheid.
 
Hallo snb,
Wil je mij niet meer verder helpen? Zou ik erg jammer vinden. De macro die ik moet gebruiken bevat factoren waarmee gewerkt wordt en kan ik niet tonen. Nogmaals sorry voor terughoudendheid
 
Wat is er op tegen om de macro aan te passen zodat hij ook csv bestanden leest?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan