(troppo vecchio per rispondere)
Problema con file CSV e separatori
Franco
2006-10-26 07:37:02 UTC
Salve a tutti, ho il seguente problema con la creazione di un file CSV:

Se uso una versione "italiana" di excel, quando salvo il file in formato CSV
viene utilizzato il separatore ";" mentre se provo a salvare lo stesso file
da un altro pc con versione "uk" viene utilizzato il separatore ",".
Esiste un modo per far si che anche la versione "uk" salvi il csv utilizzando
come separatore il ";"?
Ho provato anche a modificare le impostazioni internazionali, ma nulla...
Come posso fare?
Un grazie anticipato a tutti
Franco
Tiziano Marmiroli
2006-10-26 10:23:18 UTC
Post by Franco
Se uso una versione "italiana" di excel, quando salvo il file in formato CSV
viene utilizzato il separatore ";" mentre se provo a salvare lo stesso file
da un altro pc con versione "uk" viene utilizzato il separatore ",".
Esiste un modo per far si che anche la versione "uk" salvi il csv utilizzando
come separatore il ";"?
Ho provato anche a modificare le impostazioni internazionali, ma nulla...
Come posso fare?
Devi appunto intervenire sulle impostazioni internazionali di windows
('Opzioni internazionali e della lingua') impostando come separatore di
elenco il ";".
--
Tiziano Marmiroli
Microsoft MVP - Office System
eliano
2006-10-26 13:06:02 UTC
Post by Franco
Se uso una versione "italiana" di excel, quando salvo il file in formato CSV
viene utilizzato il separatore ";" mentre se provo a salvare lo stesso file
da un altro pc con versione "uk" viene utilizzato il separatore ",".
Esiste un modo per far si che anche la versione "uk" salvi il csv utilizzando
come separatore il ";"?
Ho provato anche a modificare le impostazioni internazionali, ma nulla...
Come posso fare?
Un grazie anticipato a tutti
Ciao Franco.
A scanso di equivoci e completando la risposta di Tiziano (ciao) quando sei
in opzioni internazionali e lingua, clicca sul pulsante Personalizza, accanto
ad Italiano (Italia). (Con riferimento ad una telefonata di un amico che ieri
non trovava i separatori).:-))
Eliano
Eliano
Franco
2006-10-27 10:30:01 UTC
Infatti questa è la soluzione che ho provato sin dall'inizio....
Il fatto è che se anche imposto il separatore a ";" quando Excel crea il
file .csv lo crea con il separatore "virgola".

Sembererebbe che VBA di excel sia sensibile al parametro delle impostazioni
internazionali solo in lettura ma non in scrittura.... Infatti, Excel legge
correttamente
un file csv con ";" come separatore. Viceversa se salvo tramite una routine
un foglio in formato csv, come separatore utilizza la virgola....

Grazie comunque per l'interesse,
Franco
Post by eliano
Post by Franco
Se uso una versione "italiana" di excel, quando salvo il file in formato CSV
viene utilizzato il separatore ";" mentre se provo a salvare lo stesso file
da un altro pc con versione "uk" viene utilizzato il separatore ",".
Esiste un modo per far si che anche la versione "uk" salvi il csv utilizzando
come separatore il ";"?
Ho provato anche a modificare le impostazioni internazionali, ma nulla...
Come posso fare?
Un grazie anticipato a tutti
Ciao Franco.
A scanso di equivoci e completando la risposta di Tiziano (ciao) quando sei
in opzioni internazionali e lingua, clicca sul pulsante Personalizza, accanto
ad Italiano (Italia). (Con riferimento ad una telefonata di un amico che ieri
non trovava i separatori).:-))
Eliano
Eliano
Tiziano Marmiroli
2006-10-27 13:17:08 UTC
Post by Franco
Infatti questa è la soluzione che ho provato sin dall'inizio....
Il fatto è che se anche imposto il separatore a ";" quando Excel crea il
file .csv lo crea con il separatore "virgola".
Sembererebbe che VBA di excel sia sensibile al parametro delle impostazioni
internazionali solo in lettura ma non in scrittura.... Infatti, Excel legge
correttamente
un file csv con ";" come separatore. Viceversa se salvo tramite una routine
un foglio in formato csv, come separatore utilizza la virgola....
Provato con sistema operativo in inglese, Excel 2003 in inglese. Nelle
opzioni internazionali ho scelto 'English (United States)' impostando
però come "List separator" il ";". Sia che salvi dal menu file che da
routine come separatore usa il punto e virgola.

Facci sapere se e come hai risolto, grazie.
--
Tiziano Marmiroli
Microsoft MVP - Office System
Franco
2006-10-27 14:21:03 UTC
Ho provato ad eseguire manualmente il salvataggio di un file csv,
e in effetti riconosce il ";".
Purtroppo, però, se la stessa identica operazione viene eseguita
da codice VBA, il file viene scritto con il separatore ",".

La versione di software è:
Excel 2002 Sp3 inglese
Win xp SP2 Inglese

La stessa routine, fatta girare su un altro pc con XP SP1 inglese
ed Excel 2002 Sp3 Italiano, salva il file con il separatore a ";".

Non so proprio cosa pensare....

Ciao e grazie
Franco
Post by Tiziano Marmiroli
Post by Franco
Infatti questa è la soluzione che ho provato sin dall'inizio....
Il fatto è che se anche imposto il separatore a ";" quando Excel crea il
file .csv lo crea con il separatore "virgola".
Sembererebbe che VBA di excel sia sensibile al parametro delle impostazioni
internazionali solo in lettura ma non in scrittura.... Infatti, Excel legge
correttamente
un file csv con ";" come separatore. Viceversa se salvo tramite una routine
un foglio in formato csv, come separatore utilizza la virgola....
Provato con sistema operativo in inglese, Excel 2003 in inglese. Nelle
opzioni internazionali ho scelto 'English (United States)' impostando
però come "List separator" il ";". Sia che salvi dal menu file che da
routine come separatore usa il punto e virgola.
Facci sapere se e come hai risolto, grazie.
--
Tiziano Marmiroli
Microsoft MVP - Office System
Franco
2006-10-27 14:24:01 UTC
Dimenticavo, ovviamente intendevo mantenedo le stesse impostazioni
internazionali....


">
Post by Franco
La stessa routine, fatta girare su un altro pc con XP SP1 inglese
ed Excel 2002 Sp3 Italiano, salva il file con il separatore a ";".
Tiziano Marmiroli
2006-10-27 15:58:22 UTC
Post by Franco
Ho provato ad eseguire manualmente il salvataggio di un file csv,
e in effetti riconosce il ";".
Purtroppo, però, se la stessa identica operazione viene eseguita
da codice VBA, il file viene scritto con il separatore ",".
Stop! :-)

Avvia il registratore di macro, salva manualmente come .csv, interrompi
la registrazione della macro.
Apri il file csv con un editor di testo. Ci sono i ";", no?
Bene ora elimina il file .csv testé creato e lancia la macro appena
registrata.

Il file csv creato dalla macro ha i punti e virgola o no? In caso
affermativo controlla in cosa differisce il codice VBA da te usato da
quello generato automaticamente dal registratore.

Facci sapere se e come hai risolto, grazie.
--
Tiziano Marmiroli
Microsoft MVP - Office System
Franco
2006-10-30 11:35:02 UTC
Avevo pensato anche a quella possibilità... La macro comunque genera un
file con le virgole e non i punti virgola :((

La stessa operazione se fatta tutta "a mano" restituisce il ";" come
separatore, viceversa se la registro in una macro tramite il registratore
scrive un file con le virgole come separatori...

Ciao
Franco
Post by Tiziano Marmiroli
Post by Franco
Ho provato ad eseguire manualmente il salvataggio di un file csv,
e in effetti riconosce il ";".
Purtroppo, però, se la stessa identica operazione viene eseguita
da codice VBA, il file viene scritto con il separatore ",".
Stop! :-)
Avvia il registratore di macro, salva manualmente come .csv, interrompi
la registrazione della macro.
Apri il file csv con un editor di testo. Ci sono i ";", no?
Bene ora elimina il file .csv testé creato e lancia la macro appena
registrata.
Il file csv creato dalla macro ha i punti e virgola o no? In caso
affermativo controlla in cosa differisce il codice VBA da te usato da
quello generato automaticamente dal registratore.
Facci sapere se e come hai risolto, grazie.
--
Tiziano Marmiroli
Microsoft MVP - Office System
Tiziano Marmiroli
2006-10-31 11:13:49 UTC
Post by Franco
Avevo pensato anche a quella possibilità... La macro comunque genera un
file con le virgole e non i punti virgola :((
La stessa operazione se fatta tutta "a mano" restituisce il ";" come
separatore, viceversa se la registro in una macro tramite il registratore
scrive un file con le virgole come separatori...
Non è affatto normale.

Riprova avviando Excel in safe mode

Start> Esegui> excel.exe /s
(http://support.microsoft.com/kb/280504
--
Tiziano Marmiroli
Microsoft MVP - Office System