Avatar billede up2nogood Nybegynder
17. marts 2004 - 10:42 Der er 9 kommentarer og
1 løsning

Importere kommafil og eksportere xls automatisk

Jeg kunne godt tænke mig at kunne lave denne process så automatisk som mulig:
Import at kommafil - de samme feltafgrænsere osv hver gang.
Eksportere arket til en xls fil, gerne til et fast filnavn.
Vise en status boks om operationen er gået godt.
Og til sidst lukke excel.

Jeg ved jeg kan optage en macro til at gøre noget af dette. Men er det muligt at have et eksternt program der kan sørge for at åbne excel og gøre det jeg ønsker. Sådan at brugeren kun skal trykke på "Ok" når det er gået godt...

Jeg kan se at man kan lave noget *.vbs fil som man kan redigere i notepad. Kan det måske klare opgaven?
Avatar billede sjap Praktikant
17. marts 2004 - 12:39 #1
Når du bruger guiderne for manuel import af kommafil, kan du gemme specifikationen. Husk navnet, for det kan du så bruge i funktionen

DoCmd.TransferText [transfertype][, specificationname], tablename, filename[, hasfieldnames][, HTMLtablename][, codepage]

Det samme er ikke nødvendigt for Excel filer, så der kan du bruge funktionen

DoCmd.TransferSpreadsheet [transfertype][, spreadsheettype], tablename, filename[, hasfieldnames][, range]
Avatar billede sjap Praktikant
17. marts 2004 - 13:04 #2
Glem lige det - jeg var i en anden kategori! :-(
Avatar billede bak Forsker
17. marts 2004 - 13:23 #3
Hvis du har mulighed for at ændre din felt afgrænser til semicolon istedet for komma og så give filen extensionen csv, behøver du slet ikke køre den gennem excel, da en DK-excel åbner disse fuldstændig ligesom en alm. excelfil.
Avatar billede up2nogood Nybegynder
17. marts 2004 - 14:03 #4
Så er spørgsmålet så om en IpaQ PocketPC 2003 kan finde ud af at læse CSV filer. Det er nemmerlig sådan en det skal kastes over på. Jeg udlæser data fra MBS C5, ved du om det er muligt at ændre afgrænseren der?
Avatar billede bak Forsker
17. marts 2004 - 15:44 #5
Prøv lige på din ipaq at gemme en fil som csv.
Åbn den så i notepad, og se hvad din ipaq selv bruger som afgrænsere.
Hvis det er komma, så har du ingen problemer......vel ?
Hvis det noget andet (semicolon fx) må vi jo opfinde en kodestump til dig :-)
Avatar billede up2nogood Nybegynder
18. marts 2004 - 10:03 #6
Jeg har ikke lige mulighed for at teste på den ipaq endnu, men jeg skal nok skrive når jeg har testet det...
Avatar billede up2nogood Nybegynder
22. marts 2004 - 13:41 #7
Nu har jeg testet og den ipaq kan kun importere/eksportere de gængse excel formater. Dvs, ingen csv eller lign. Jeg er villig til at kode noget selv hvis der er en der kan fortælle hvordan jeg kommer i gang med det...
Avatar billede palle_ib Nybegynder
26. marts 2004 - 17:10 #8
Har du arbejdet i VBA koder før?
Du kan sagtens lave hele den process med at åbne kommafilen (hvis det er det samme navn hver gang på kommafilen bliver koden meget kortere), gemme den som excelfil og så lukke excel.

Det jeg vil foreslå dig hvis du selv vil prøve kræfter med kodningen er at optage dig ud af det. Specielt importen af en .txt eller .csv fil er en super hjælp at kunne optage.
Jeg vil måske fraråde dig at lukke Excel efter at have gemt filen, med mindre du laver kontrollerer om der stadig er nogle åbne filer - Når Excel lukkes via kode går der enter noget tabt i åbne ark eller man risikerer at der gemmes noget man ikke lige var interesseret i.
Avatar billede weaponx Nybegynder
17. maj 2004 - 16:16 #9
Du kan importere csv filer med en makro i denne form:

Sub ImporterCSV()
   
' Åbner en CSV fil og importerer den til excel
   
    Flt = Flt & "CSV Filer(*.csv),*.csv"
    Titel = "Vælg fil, som skal bearbejdes"
    fileToOpen = Application _
    .GetOpenFilename(Flt, , Titel)
  If fileToOpen <> False Then
   
    Worksheets("ARKNAVN").Activate
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & fileToOpen, Destination _
        :=Range("A1"))
        .Name = "ARKNAVN"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2)
        .TextFileDecimalSeparator = "."
        .TextFileThousandsSeparator = "'"
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    End If
 
End Sub

TextFileXXXDelimiter er hvor du bestemmer hvilket tegn, der deler kolonnerne.
Avatar billede up2nogood Nybegynder
10. januar 2006 - 08:53 #10
weaponx for point for det gode eksempel. SORRY for den lange acceptid!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester