Jeg har forsøgt at importere en tekstfil og en csv-fil i excel 2000. I Guiden tekstimport, har jeg valgt komma som afgrænser og anførselstegn som tekstkvalifikator. Filen er gemt i excel som csv, men komma er erstattet af semikolon:
Filnavn: *.csv Filtype: csv-semikolonsepareret (I filtype har jeg kun mulighed for at vælge csv semikolonsepareret og MS dos + Macintosh, mangler jeg muligheder her??)
Jeg har rettet listeseparator til komma i International.
Jeg benytter windows 2000, men har mulighed for at låne en PC’er med XP hvis det kan hjælpe??
Filen skal importeres i en anden database i følgende format: ”felt1”,”felt2”,”felt3”,””,””,”” o.s.v.
Hvordan gemmer jeg filen i excel så den får ovenstående format??
En mulighed erv at lave en makro, der gemmer din mapep som csv fil. Når du gemmer via gem som, bruges altid semikolon som separator, når du bruger en makro, bruges altid komma!!
fx denne eller en lignende kode:
Sub csv() ActiveWorkbook.SaveAs Filename:= _ "C:\Mappe1.csv", FileFormat:= _ xlCSV, CreateBackup:=False End Sub
Er det rigtig forstået at det eneste du skal bruge excel til i denne forbindelse er for at lave semikolon om til comma? Har du overvejet at åbne csv filen i Notepad (Notesblok) og lave en søg erstat på semikolon til comma? En hurtig løsning som er til at forstå, men hvis det er noget der skal gøres dagligt vil jeg foreslå VBA.
Nej, jeg skal bruge en fil med komma som separator og indholdet skal være i anførselstegn, derfor kan jeg ikke bruge en csv-fil som laver både komma og anførselstegn om til semikolon. Jeg kan ikke se idéen i at bruge søg og erstat i denne sammenhæng. Formatet jeg skal bruge er: "indhold","indhold","","","" o.s.v. Kan det kun gøres med VBA??
Nej, ikke uden VBA Denne makro eksporter det sammenhængende område af regnearket som du står i når den køres.
Sub EksportAsCSV() Const Delim As String = "," 'afgrænser (delimiter) Dim y As Long 'tæller Dim x As Long 'tæller Dim strTemp As String 'streng til de enkelte rækker Dim lRows As Long 'antal rækker Dim lCols As Long 'antal kolonner Dim lFno As Long 'fil nummer Dim CSVFilename As String Dim rngOmr As Range
Set rngOmr = Application.InputBox("Marker området der skal eksporteres :", "Marker Område", , , , , , 8) CSVFilename = Application.GetSaveAsFilename(fileFilter:="CSV Files (*.csv), *.csv") If CSVFilename = "False" Then Exit Sub
lFno = FreeFile lRows = rngOmr.Rows.Count lCols = rngOmr.Columns.Count Open CSVFilename For Output As #lFno
For x = 1 To lRows strTemp = "" For y = 1 To lCols strTemp = strTemp & &chr(34) & rngOmr(x, y).Text & chr(34) If y < lCols Then strTemp = strTemp & Delim Else Print #lFno, strTemp End If Next
Tak bak, det hjalp en hel del:) Hvordan tildeler jeg de 30 point til dig?? (muligheden for at afvise eller acceptere forsvandt da jeg afviste det første svar)
Virker super for mig og men drillede lidt i Excel 2007.
Sådan installeres det i Excel 2007. - Klik Office-ikon / Excel-indstillinger / Sikkerhedscenter / Indstillinger for sikkerhedscenter - Indstillinger for makro, Klik: Aktiver alle makroer - Eksternt indhold, Klik: Aktiver alle dataforbindelser - OK - OK Tryk: Alt+F11 - Dobelt-Klik på ThisWorkBook - Sæt Bakskode ind. <code> Sub EksportAsCSV() Const Delim As String = "," 'afgrænser (delimiter) Dim y As Long 'tæller Dim x As Long 'tæller Dim strTemp As String 'streng til de enkelte rækker Dim lRows As Long 'antal rækker Dim lCols As Long 'antal kolonner Dim lFno As Long 'fil nummer Dim CSVFilename As String Dim rngOmr As Range
Set rngOmr = Application.InputBox("Marker området der skal eksporteres :", "Marker Område", , , , , , 8) CSVFilename = Application.GetSaveAsFilename(fileFilter:="CSV Files (*.csv), *.csv") If CSVFilename = "False" Then Exit Sub
lFno = FreeFile lRows = rngOmr.Rows.Count lCols = rngOmr.Columns.Count Open CSVFilename For Output As #lFno
For x = 1 To lRows strTemp = "" For y = 1 To lCols strTemp = strTemp & Chr(34) & rngOmr(x, y).Text & Chr(34) If y < lCols Then strTemp = strTemp & Delim Else Print #lFno, strTemp End If Next
Next Close #lFno
End Sub </code>
HUSK at gemme som: - Excel-projektmappe med Aktiverede-makroer. - Gem filen som DitProjekt.xlsm
Tryk: Alt+F8 og afspil ThisWorkbook.EksportAsCSV - Marker det område der skal eksporteres - I Gem som vælges nyt navn: DitProjekt.csv
Det var ordne for mig.... FINT POST..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.