Come specificare un delimitatore durante il salvataggio di un file CSV in una macro

Quando si utilizzano gli strumenti disponibili sulla barra multifunzione per esportare un foglio di lavoro, come file CSV, Arianna ha notato che può specificare che desidera utilizzare una virgola (,) come delimitatore di campo. Tuttavia, se salva un file CSV utilizzando una macro (FileFormat:=xlCSV o xlCSVWindows), non potrà specificare una virgola come delimitatore.

Funziona in questo modo in base alla progettazione di VBA. L’implementazione Excel delle routine di esportazione per VBA utilizza sempre le impostazioni regionali di Windows per determinare come separare gli elementi in un CSV. Nello specifico, la routine esamina il campo Separatore di elenco. Ciò significa che puoi, se lo desideri, modificare il delimitatore in una virgola modificando l’impostazione Separatore di elenco nella configurazione delle impostazioni regionali. Cercando “Area geografica” su Windows e cliccando in basso a destra sul pulsante “Impostazioni aggiuntive” della finestra omonima, si accede ad una nuova finestra denominata “Personalizza formato“.

 

Come specificare un delimitatore durante il salvataggio di un file CSV in una macro 1

Se non desideri modificare le impostazioni regionali, puoi invece scrivere la tua macro che genererà il file nel modo desiderato. Considera, per un momento, la seguente macro, che genererà il file:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

Questa macro apre un file di testo con lo stesso nome della cartella di lavoro. Quindi esamina ciascuna riga e inizia a mettere insieme una stringa del contenuto della cella (questa viene inserita nella variabile sTemp). Ogni cella ha una virgola inserita al suo interno, come definito dalla variabile sSep. I valori concatenati di ogni riga vengono archiviati nel file di testo e al termine il file di testo viene chiuso. La routine è molto veloce e al termine visualizza un messaggio che indica quante righe sono state esportate nel file.

 

 

Tags: , , , , , , , , , , , , , , , , , , , , , ,

Ti è stato utile?