Ik heb een aantal Excelbestanden die via ons intranet (deels via Citrix, deels via gewone pc's) beschikbaar zijn voor een stuk of 50 gebruikers. Deze bestanden bevatten een hele hoop macro's. Een van de functies is het exporteren van wat data (een selectie op een van de werkbladen) naar CSV. Deze exportfiles worden vervolgens batchgewijs ingelezen in SQL (via een DTS-package).
Het opslaan als CSV-bestand gaat gewoon zo:
En daar loop ik tegen een probleem aan. De DTS-package verwacht de puntkomma als scheidingsteken, maar bij het exporteren wordt de landinstelling (locale) van de gebruiker aangehouden. In sommige gevallen levert dat een komma als scheidingsteken op en m'n package struikelt daar nogal over
Mijn vraag is of iemand weet hoe je kan opslaan als CSV waarbij de landeninstelling genegeerd wordt, of expliciet op Nederlands/Europees (of whatever, zolang het maar een puntkomma gebruikt) ingesteld wordt. Misschien via FileFormat?
Google levert weinig nuttigs op en ook op GoT vind ik geen antwoord. Er zijn wel wat topics zoals dit, maar ik kan daar niet zoveel mee. En er is wel een workaround: regel voor regel door de huidige selection lopen en achtereenvolgens elke waarde plus een puntkomma naar het textbestand schrijven, maar dat levert een enorme perfomanceverslechtering op (vanwege het loopen). Deze workaround staat hier.
Wie helpt mij
Het opslaan als CSV-bestand gaat gewoon zo:
Visual Basic:
1
2
| Sheets("WISSEL").Select ActiveWorkbook.SaveAs Filename:= CSVnaam, FileFormat:= xlCSVMSDOS |
En daar loop ik tegen een probleem aan. De DTS-package verwacht de puntkomma als scheidingsteken, maar bij het exporteren wordt de landinstelling (locale) van de gebruiker aangehouden. In sommige gevallen levert dat een komma als scheidingsteken op en m'n package struikelt daar nogal over
Mijn vraag is of iemand weet hoe je kan opslaan als CSV waarbij de landeninstelling genegeerd wordt, of expliciet op Nederlands/Europees (of whatever, zolang het maar een puntkomma gebruikt) ingesteld wordt. Misschien via FileFormat?
Google levert weinig nuttigs op en ook op GoT vind ik geen antwoord. Er zijn wel wat topics zoals dit, maar ik kan daar niet zoveel mee. En er is wel een workaround: regel voor regel door de huidige selection lopen en achtereenvolgens elke waarde plus een puntkomma naar het textbestand schrijven, maar dat levert een enorme perfomanceverslechtering op (vanwege het loopen). Deze workaround staat hier.
Wie helpt mij