Mijn vraag
Ik heb een map waar speciale *.TEO bestanden in staan. Deze map is de volgende: c:/tmp/productieordernummer. Hiervan is het productieordernummer altijd anders dus dit kan niet opgenomen worden in de code.
Vervolgens wil ik hiervan een CSV bestand maken en opslaan in een andere map. Dit is de map c:\MKG import. En ik wil ook dat in de CSV in de 2de kolom het productieordernummer komt te staan (dit kan hij dus van de mapnaam vandaan halen).
Relevante software en hardware die ik gebruik
Ik wil dit maken met een macro in Excel. Of als het mogelijk is met opdrachtprompt.
Wat ik al gevonden of geprobeerd heb
Ik heb al veel opties geprobeerd, alleen was dit vaak dat ik nog een menu krijg waarin ik naar de goede map moet gaan. Vervolgens gaat dit wel goed alleen wil ik het voor elkaar krijgen dat dit niet hoeft en ik denk dat dit wil mogelijk is.
Ik heb een map waar speciale *.TEO bestanden in staan. Deze map is de volgende: c:/tmp/productieordernummer. Hiervan is het productieordernummer altijd anders dus dit kan niet opgenomen worden in de code.
Vervolgens wil ik hiervan een CSV bestand maken en opslaan in een andere map. Dit is de map c:\MKG import. En ik wil ook dat in de CSV in de 2de kolom het productieordernummer komt te staan (dit kan hij dus van de mapnaam vandaan halen).
Relevante software en hardware die ik gebruik
Ik wil dit maken met een macro in Excel. Of als het mogelijk is met opdrachtprompt.
Wat ik al gevonden of geprobeerd heb
Ik heb al veel opties geprobeerd, alleen was dit vaak dat ik nog een menu krijg waarin ik naar de goede map moet gaan. Vervolgens gaat dit wel goed alleen wil ik het voor elkaar krijgen dat dit niet hoeft en ik denk dat dit wil mogelijk is.
- Sub M_CSVmaken() Dim strFolder As String, strFile As String, ws As Worksheet, sn As Variant Dim arrTmp As Variant, Arr As Variant Dim i As Integer, X As Integer Dim fileList() As String Dim fName As String fName = Dir("C:\tmp" & "\*.TEO") Set ws = Worksheets.Add strFile = fName & "\*.TEO" While fName <> "" i = i + 1 ReDim Preserve fileList(1 To i) fileList(i) = fName fName = Dir() Wend If i = 0 Then MsgBox "Geen bestanden gevonden" Exit Sub Else Columns(1).ClearContents For X = 1 To i Cells(X, 1) = fileList(X) Next End If ActiveSheet.Copy ActiveWorkbook.SaveAs "C:\tmp\" & ThisWorkbook.Sheets("Blad2").Range("A1").Value & ".xls" Dim MyFileName As String Dim CurrentWB As Workbook, TempWB As Workbook Set CurrentWB = ActiveWorkbook ActiveWorkbook.ActiveSheet.UsedRange.Copy Set TempWB = Application.Workbooks.Add(1) With TempWB.Sheets(1).Range("A1") .PasteSpecial xlPasteValues .PasteSpecial xlPasteFormats End With MyFileName = "C:\MKG import\" & Left(CurrentWB.Name, Len(CurrentWB.Name) - 4) & ".csv" Application.DisplayAlerts = False TempWB.SaveAs FileName:=MyFileName, FileFormat:=xlCSV, CreateBackup:=False, Local:=True TempWB.Close SaveChanges:=False Application.DisplayAlerts = True End Sub
[ Voor 5% gewijzigd door Verwijderd op 08-05-2019 13:18 ]