• 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.

file-extensie xls wijzigen in csv in macro

Status
Niet open voor verdere reacties.

Gesus

Gebruiker
Lid geworden
6 okt 2006
Berichten
126
Hallo allemaal,

In onderstaande macro wordt data opgehaald en weggeschreven als .xls-file. Dit gebeurt, zoals jullie zien, met een groot aantal variabelen die in het excel-sheet zijn gedefinieerd.
Het opslaan heb ik als rode tekst weergegeven.
Deze macro is een onderdeel in een geneste lus en wordt via Call aangeroepen..

Het werkt allemaal fantastisch, maar nu is de vraag gekomen om de data niet alleen als xls extensie, maar ook als csv extensie op te slaan. Makkelijk, maar het programma dat de csv inleest (SAP) kan niet overweg met echte csv-files.......(Comma Seperated Values). Het blijkt nu dat het een excel-file moet zijn met een csv-extensie, zonder dat de inhoud van de excelfile wordt aangepast (het kan niet anders in SAP).

Mijn vraag is nu of ik, nadat ik de file heb opgeslagen als xls, ook een soort rename-statement kan ingeven die de naam van de file aanpast (zoals je dat ook zou doen in de verkenner) naar een csv-file.

Ik hoop dat jullie mij verder kunnen helpen...
:confused:

Sub Start_ophalen()

dir_template = Range("dir_template").Text
naam_template = Range("naam_template").Text
dir_opslaan = Range("dir_opslaan").Text
naam_opslaan = Range("naam_opslaan").Text
naam_origineelbestand = Range("naam_origineelbestand").Text

ChDir (dir_template)
Workbooks.Open Filename:=(naam_template)

Windows(naam_origineelbestand).Activate
Sheets("Template").Select
Range("a1").AutoFilter Field:=1, Criteria1:="g"
Range("B1:E100").Select
Selection.Copy

Windows(naam_template).Activate
Range("a1").Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ChDir (dir_opslaan)
ActiveWorkbook.SaveAs Filename:=(naam_opslaan), _
FileFormat:=xlNormal, CreateBackup:=False

ActiveWindow.Close (True)
Application.CutCopyMode = False
Selection.AutoFilter
Sheets("keuze opslaan").Select


End Sub

met vriendelijke groet,
Gesus
 
Laatst bewerkt:
Dat moet geen probleem zijn.

Je haalt de naam uit naam_opslaan
Daar staat w.s. ook .xls achter de bestands
Naam dat kun je daar weglaten en dan later .xls en .csv toevoegen.
Anders met een string bewerking (left) de laatste drie tekens weghalen en csv er aan plakken.

Dat bestand kun je eventueel met
Code:
ActiveWorkbook.SaveCopyAs naam_opslaan & ".csv"
Dan blijft het oorspronkelijke bestand gewoon een .xls


mvg leo
 
Laatst bewerkt:
Thanx!!

dat werkt goed!
En gelukkig blijft de indeling ook "verkeerd"..

:D

met vriendelijke groet,
Gesus
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan