Avatar billede wildthing Nybegynder
05. november 2002 - 11:10 Der er 7 kommentarer og
1 løsning

Semikolon separator ved brug af makro

Jeg anvender konsekvent semikolon (ikke comma) som seperator i alle filer. I Windows control panelet er min PC sat til ";" som list seperator, og når jeg ellers gemmer som *.csv på normalvis fungerer dette fint. MEN at lade makroen gemme en *.csv fil resulterer i en komma separeret fil istedet. Jeg kan ikke se at

    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\at\My Documents\Book2.csv", FileFormat:=xlCSV _
        , CreateBackup:=False

har muligheden for at hardcode delimiter typen, som eksempelvis Workbooks.OpenText har.

Nu er jeg blevet så træt af det (det har virket på tidligere windows platforme el. officepakker?!?), så jeg håber der sidder en ekspert derude med et svar.

Wildthing
Avatar billede janvogt Praktikant
05. november 2002 - 11:18 #1
Jeg har noget kode liggende, som klarer problemet.

Umiddelbart er det ikke en enkelt parameter, som bare kan ændres, men det kan alligevel godt lade sig gøre at kode sig ud af det.

Jeg kan sende dig mit eksport-eksempel, hvis du ønsker.

janvogt@esenet.dk
05. november 2002 - 11:28 #2
Du kan gøre det på denne lille måde:

Sub Question279475()
    Dim rSheet As Worksheet
    Dim rUsedRange As Range
    Dim rRow As Range
    Dim rCell As Range
    Dim lFileNum As Long
    Dim sLine As String
   
    Set rSheet = Sheets("Sheet1")
    Set rUsedRange = rSheet.UsedRange
    ' If rSheet contains headings not to be show'n in file - then activate next line
    'Set rUsedRange = rUsedRange.Offset(1, 0).Resize(rUsedRange.Rows.Count - 1)
    lFileNum = FreeFile

    Open "D:\Temp\" & rSheet.Name & ".csv" For Output As #lFileNum
        For Each rRow In rUsedRange.Rows
            sLine = ""
            For Each rCell In rRow.Cells
                sLine = sLine & CStr(rCell.Value) & ";"
            Next rCell
            Print #lFileNum, sLine
        Next rRow
    Close #lFileNum
   
    'Clean up
    Set rSheet = Nothing
    Set rUsedRange = Nothing
    Set rRow = Nothing
    Set rCell = Nothing
End Sub
05. november 2002 - 11:29 #3
Ændre selv "D:\Temp\"
Avatar billede bak Forsker
05. november 2002 - 11:29 #4
prøv lige at ændre FileFormat til xlCSVWindows.
det ændrer seperatoren til ;
Avatar billede wildthing Nybegynder
05. november 2002 - 11:45 #5
Bak's forslag var dejligt simpel, men ændrede umiddelbart ikke seperatoren. Pas på du ikke manuelt kommer til at gemme din testfil bagefter, for derved ændres den korrekt til ";". Er du enig?

Er vi godt nok ude i noget kode-kaj ala flemmings?
Avatar billede bak Forsker
05. november 2002 - 11:50 #6
Tjah, wildthing. hos mig gemmer den nu fint med ; som seperator.
eng. win 2000 og eng. ex2000.
Problemet her ligger i at komma ændres til .
men du skal jo kode som flemming foreslår
Avatar billede wildthing Nybegynder
05. november 2002 - 11:54 #7
points goes to Flemingdahl. Tak. /wildthing
05. november 2002 - 11:56 #8
ingen årsag - god fornøjelse
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