Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Salvare in formato TXT in colonna

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Salvare in formato TXT in colonna

Postdi cd7019 » 03/04/14 22:01

Ciao,
Desidero salvare un file excel in formato TXT, però ogni colonna deve essere collocata in una determinata posizione (N°caratteri).
1 carattere = 1 posizione, 1 spazio = 1 posizione.
Quindi tutti i caratteri della colonna B,colonna C, ecc... devono essere allineati nel file TXT.

ad esempio:
EXCEL: colonna A colonna B colonna C
TXT: 1°pos. 20° pos. 30°pos.

EXCEL: aaa bbb ccc
TXT:"aaa bbb ccc

aaa = pos.1,2,3
bbb = pos. 20,21,22
ccc = pos. 30,31,32

E' possibile?

Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Sponsor
 

Re: Salvare in formato TXT in colonna

Postdi wallace&gromit » 04/04/14 10:24

se ho capito bene il tuo problema è risolvibile aggiungendo già in excel al testo esistente un numero di spazi in modo da completare la lunghezza prevista per quella colonna.
Lo puoi fare con una macro su questa base:
Codice: Seleziona tutto
Sub CreaSpazi()
stato = ActiveCell.Text
riempi = "                    "
stato = stato & Right(riempi, Len(riempi) - Len(stato))
ActiveCell = stato
End Sub
che con un ciclo for..next potresti fare applicare a tutte le tue celle
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Salvare in formato TXT in colonna

Postdi cd7019 » 04/04/14 14:38

Grazie,
ho riscontrato 2 problemi:
1) se le celle contengono un N° di caratteri maggiore della spaziatura tra una colonna e l'altra mi sfasa le colonne del testo.
2) non riesco a salvare solo le righe interessate nel formato txt.

Pensavo, nella mia ignoranza, che ci fosse un comando che allineasse con spazi o con tabulazioni le colonne di EXCEL >>> TXT, come avviene quando faccio un importa da TXT >>> EXCEL.

Ciao
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: Salvare in formato TXT in colonna

Postdi wallace&gromit » 04/04/14 14:52

in questo caso puoi anche salvare il file come "txt delimitato da tabulazione" senza neanche le elaborazioni che ti ho proposto.
Avrai l'intera pagina con i dati che ti servono, se accanto hai dell'altro sarà salvato anch'esso.
Il miglior consiglio è di copiare ciò che ti interessa su un nuovo file excel e poi salvare il txt (così l'originale rimane in excel)
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Salvare in formato TXT in colonna

Postdi Anthony47 » 04/04/14 15:33

Credo che questo risultato venga ottenuto in modo nativo con un "Salva con nome" nel formato "prn".

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare in formato TXT in colonna

Postdi cd7019 » 04/04/14 16:16

Grazie,
Come faccio a ricavare la larghezza giusta x il n° di spazi voluti, ho fatto delle prove ma certe volte il n° di spazi è sbagliato, magari a causa dell'approssimazione.

Ciao
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: Salvare in formato TXT in colonna

Postdi Anthony47 » 04/04/14 18:34

Se hai salvato come "prn" allora per avere risultati coerenti devi preventivamente:
-selezionare tutto il foglio (click sulla "cella" sopra 1 e a sx di A)
-formattare con un font a larghezza fissa, es Courier
-regolare la larghezza delle colonne alla larghezza del testo di ognuna (posizionare il cursore sulla linea di demarcazione tra una colonna e la successiva, in testa; il cursore cambia formato; doppioclick)

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare in formato TXT in colonna

Postdi cd7019 » 05/04/14 20:10

grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: Salvare in formato TXT in colonna

Postdi cd7019 » 06/04/14 20:41

Ciao,
non sono riuscito ad ottenere il risultato sperato con la formattazione delle colonne, allora ho unito le varie celle:
Codice: Seleziona tutto
Cells(I, 25) = Left$(Cells(I, 1).Value & Space$(10), 6) & Left$(Cells(I, 6).Value & Space$(10), 6) & Left$(Cells(I, 8).Value & Space$(100), 86) & ...

ho eliminato le colonne dalla 1 alla 24.
ho ottenuto il risultato sperato.

Però quando vado a salvare il file excel in formato TXT (ho provato tutti i tipi) mi compaiono tanti "#", questo è dovuto al superamento dei 255 caratteri x riga.

Ho proprio necessità di avere molti caratteri, per poterli aprire con Blocco Note, Notepad++ (leggono anche righe con + 255 caratteri)
Come posso risolvere questo problema?

Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: Salvare in formato TXT in colonna

Postdi Anthony47 » 08/04/14 00:33

Non ho capito su che cosa ti sei arenato, ma la strada che hai preso mi sembra meno semplice dell' altra...
Prova con questa macro:
Codice: Seleziona tutto
Sub salvatxt()
Dim myStringa As String, I As Long, J As Long, ListaCol, ListaLargh, DestFile As String
'
DestFile = "C:\Users\UTENTE\PERCORSO\PIPPO_Cartel1.txt"  '<<1
ListaCol = Array(1, 6, 8, 9, 10)        '<< Le colonne da copiare
ListaLargh = Array(6, 6, 86, 80, 80)    '<< La larghezza di ogni campo
'
FileNum = FreeFile()
Open DestFile For Output As #FileNum
For I = 1 To ActiveSheet.UsedRange.Rows.Count
    myStringa = ""
    For J = LBound(ListaCol, 1) To UBound(ListaCol, 1)
        myStringa = myStringa & Left(Cells(I, ListaCol(J)).Value & Space(ListaLargh(J)), ListaLargh(J))
    Next J
    Print #FileNum, myStringa
Next I
Close #FileNum
End Sub

Le istruzioni marcate << sono da personalizzare; in particolare in ListaCol devi inserire il numero delle colonne che vuoi salvare e in ListaLargh il numero di caratteri per ogni colonna menzionata; i due array devono avere lo stesso numero di elementi.
Se il nome di salvataggio non e' fisso useremo un' altra tecnica, per il salvataggio; dopo che hai confermato che il risultato ottenuto sarebbe ok.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Salvare in formato TXT in colonna

Postdi cd7019 » 08/04/14 16:29

Grazie,
funziona perfettamente.

Mi potresti consigliare un buon manuale di programmazione VBA con esempi e l'elenco di tutti i comandi disponibili.
Perchè mi rendo conto che è un mondo complicato e nello stesso tempo affascinante, che necessita studio e applicazione.

Grazie
Ciao.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: Salvare in formato TXT in colonna

Postdi Anthony47 » 09/04/14 00:43

Purtroppo non ho nessuna lettura da consigliare; ma se vai in una libreria Mondadori o Feltrinelli troverai sicuramente qualche titolo che possa darti una spinta, senza aspettarti pero' miracoli immediati...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Salvare in formato TXT in colonna":


Chi c’è in linea

Visitano il forum: Nessuno e 21 ospiti