Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[EXCEL] ; als scheidingsteken in csv mbv macro

Pagina: 1
Acties:
  • 1.112 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een macro gemaakt in Excel die netjes mijn .xls document opslaat als .csv Nu heb ik een klein probleempje, de organisatie waar ik het csv bestandje moet aanleveren wil een ; als scheidingsteken.
Als ik heb xls document handmatig opsla als csv(OS/2 / MSDOS) dan krijg ik netjes een ; doe ik dit met een macro dan krijg ik een ,
Ik heb me landsinstellingen al aangepast zoals in verschillende topics hier te lezen valt maar dat werkt niet. Andre2 heeft hier ook zn zelfde probleem neergezet maar volgens mij geen reactie gekregen.

Dit is zijn bericht maar kon er geen antwoord op vinden :? . [rml]andre2 in "[ EXCEL] save as csv geeft ; ipv , als li..."[/rml]

Ik draai op een WinNT bak met office97 (modern bedrijf hier ;) )

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Helaas is hier niks aan te doen (ik heb het althans nooit gevonden).

Het enige wat je kan doen is het zelf die export scripten. Ik heb het al een keer gedaan, maar heb helaas geen source-code meer voor je. [google=excel macro export] levert trouwens wellicht wat bruikbare hits

Hieronder vind je twee voorbeelden:
http://support.microsoft....spx?scid=kb;en-us;Q123183
Raar dat microsoft hier een 'workaround' voor heeft. Ze onderkennen het probleem in ieder geval. ;)
Dit voorbeeld kan je overigens makkelijk aanpassen naar jouw wensen

http://icdevgroup.org/pip...003-September/035345.html
Hier zie ik ook een voorbeeld hoe het zou kunnen.

Ik heb de voorbeelden snel doorgekeken, dus wellicht is het helemaal niet bruikbaar of kan het veel efficienter / korter. Maar ik denk dat je hier wel verder mee kunt.

HTH

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Probeer aan de SaveAs methode de parameter Local op True te plaatsen
vb: MyBook.SaveAs FileName:="mybook.csv", fileFormat:=xlCSV, Local:=True

Dit in combinatie met het aanpassen van je regionale settings uiteraard.

Verwijderd

Topicstarter
Tnx, ik ga het proberen, de optie van Flussieke met de local parameter werkt niet, tenminste Excel kent de parameter niet :'(

Ga nu de optie van BtM909 even proberen, hopelijk werkt die wel :P

Verwijderd

Topicstarter
De optie van BtM909 werkt prima _/-\o_ wat betreft het ; als scheidingsteken zit nu alleen met de " " om de waarden. Misschien heeft 1 van jullie een oplossing hiervoor, ga zelf ook nog ff puzzelen! :9

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 17 februari 2004 @ 15:58:
De optie van BtM909 werkt prima _/-\o_ wat betreft het ; als scheidingsteken zit nu alleen met de " " om de waarden. Misschien heeft 1 van jullie een oplossing hiervoor, ga zelf ook nog ff puzzelen! :9
1. Welke oplossing heb je gebruikt?
2. Wil je wel of geen " " om je waardes hebben?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
BtM909 schreef op 17 februari 2004 @ 16:05:
[...]

1. Welke oplossing heb je gebruikt?
2. Wil je wel of geen " " om je waardes hebben?
1. Ik heb de oplossing van Microsoft gebruikt
2. Ik wilde geen " " om de waardes hebben

Ben er nu achter gekomen dat als ik in deze regel:

Print #FileNum, """" & Selection.Cells(RowCount, _
ColumnCount).Text & """";

2 van de 4 " weg haal me "probleem" is opgelost!!
Is nu dus:

Print #FileNum, "" & Selection.Cells(RowCount, _
ColumnCount).Text & "";

BtM909, tnx voor je hulp!! _/-\o_

Verwijderd

Gek, ik wil de oplossing van Microsoft gebruiken, ga dus naar die link: http://support.microsoft....b%3Bnl%3B123183&x=23&y=13

Er staat dan: U kunt deze functionaliteit echter in Excel opnemen met behulp van een Microsoft VBA-procedure (Visual Basic for Applications).

Echter ik kan nergens die procedure weervinden?!?
Die moet daar toch bij die website erbij staan?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Nee die kan je zelf programmeren ;)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Ok, hier komt ie:

Sub NestorioExportToCSV()
Dim TheFileSaveName As String, vFileNum As Integer, qcq As String, tempStr As String
Dim i As Long, j As Integer

TryAgain:
TheFileSaveName = application.GetSaveAsFilename(initialfilename:="", filefilter:= _
"CSV (Comma delimited) (*.csv), *.csv", Title:="Please enter filename to export to")
If TheFileSaveName = "False" Then MsgBox "Please enter a valid filename": GoTo TryAgain

vFileNum = FreeFile()
On Error Resume Next
Open TheFileSaveName For Output As #vFileNum
If Err <> 0 Then MsgBox "Cannot save to filename " & TheFileSaveName: End
On Error GoTo 0

qcq = Chr(34) & Chr(44) & Chr(34)

For i = 1 To [a1].SpecialCells(xlLastCell).Row
For j = 1 To Cells(i, 256).End(xlToLeft).Column
If j = 1 Then tempStr = Cells(i, j).Text Else tempStr = tempStr & qcq & Cells(i, j).Text
Next j
Print #vFileNum, Chr(34) & tempStr & Chr(34)
Next i

Close #vFileNum
End Sub

  • Who Am I?
  • Registratie: Oktober 2002
  • Laatst online: 19:39
Ik heb ongeveer het zelfde probleem. Ik moest altijd mijn .csv bestanden in word bewerken voordat ik ze in excel leesbaar kon zien. Excel die herkende alleen de ; als scheidingsteken, dus ik opende eerst het .csv bestand in word en deed 'vervang alles'. Dit werkte perfect en was nog snel ook! Totdat excel midden op de dag het opeens nodig vond om de spatie als scheidingsteken te gaan gebruiken. Ik heb volgens mij alle instellingen nu gezien, maar een goede oplossing nog niet gevonden. Ik kan wel per bestand met de 'import external data' de .csv bestanden openen en aangeven welk scheidingsteken ik wil gebruiken, maar dat kost 3x zo veel tijd en Ik kon gewoon altijd dubbel klikken en dan opende excel het bestand op de goede manier.
Misschien dat er ergens iets in het register kan worden veranderd waardoor de ; gewoon weer als scheidingsteken wordt gezien. Ik ben alleen een beetje bang dat ik de boel sloop dan.
Ik gebruik Excel(Office)2003, herinstalleren of upgraden is geen optie.

Edit:
Laat maar, ik heb het gevonden. In de landinstellingen in het control pannel moet je de 'list separator' aanpassen naar het scheidingsteken dat je wil.

[ Voor 14% gewijzigd door Who Am I? op 13-01-2009 10:10 ]

Sony A7R4+A7III, Sigma 35mm f1.4 ART, Tamron 17-28mm f2.8, Sony 85mm f1.8, Sony G II 70-200mm f2.8, Minolta 35-70mm f3.5

Pagina: 1