Discussione:
importare file di testo con campi separati da tab
(troppo vecchio per rispondere)
Alex
2005-09-16 07:46:01 UTC
Permalink
ciao a tutti ho il seguente problema devo importare un file di testo con
campi separati da tabulazione in un array per poi copiare i vari campi in
caselle di testo di un form (per modifica e visualizzazione utente), non sono
riuscito a trovare un sistema per importare i campi tra un tab e l'altro
correttamente, i campi hanno lunghezze diverse. ho provato anche caricando il
file nel foglio di lavoro e utilizzando la procedura "dati,testo in colonne"
ma dal momento che il file contiene valori con zero davanti importandolo
perdo dei valori che mi servono, grazie a tutti per l'aiuto.
--
Alex
Roberto Restelli
2005-09-16 09:22:35 UTC
Permalink
Ciao Alex.
non sono riuscito a trovare un sistema per importare i campi
tra un tab e l'altro correttamente, i campi hanno lunghezze diverse.
Quali problemi hai riscontrato? Quando apri il documento dovrebbe partire il
wizard di conversione; a quel punto basta indicare che si tratta di testo
delimitato (e non a lunghezza variabile), ed accertarsi che il tabulatore
sia considerato tra i caratteri di separazione.
ho provato anche caricando il file nel foglio di lavoro e utilizzando
la procedura "dati,testo in colonne"
OK, è analoga al wizard citato sopra...
ma dal momento che il file contiene valori con zero davanti
importandolo perdo dei valori che mi servono
Questa è una questione diversa. Tra i vari parametri di configurazione
dell'importazione puoi indicare il formato del contenuto. Per le colonne che
iniziano con "0" puoi indicare di non usare il formato "Generale" (che
automaticamente cerca di discriminare testo e numeri), ma forzare il formato
"testo".

Ciao
Roberto
--
Roberto Restelli
Microsoft MVP - Office Systems - Outlook
************************************************
La prima raccolta delle FAQ del newsgroup Microsoft di Outlook:
http://erredue.altervista.org
Alex
2005-09-16 09:43:04 UTC
Permalink
grazie ma speravo che ci fosse un metodo per farlo via visual basic, per
evitare di caricare i dati del file nelle celle di excel e successivamente
leggerle cella per cella e caricarle nella matrice.
--
Alex
Post by Roberto Restelli
Ciao Alex.
non sono riuscito a trovare un sistema per importare i campi
tra un tab e l'altro correttamente, i campi hanno lunghezze diverse.
Quali problemi hai riscontrato? Quando apri il documento dovrebbe partire il
wizard di conversione; a quel punto basta indicare che si tratta di testo
delimitato (e non a lunghezza variabile), ed accertarsi che il tabulatore
sia considerato tra i caratteri di separazione.
ho provato anche caricando il file nel foglio di lavoro e utilizzando
la procedura "dati,testo in colonne"
OK, è analoga al wizard citato sopra...
ma dal momento che il file contiene valori con zero davanti
importandolo perdo dei valori che mi servono
Questa è una questione diversa. Tra i vari parametri di configurazione
dell'importazione puoi indicare il formato del contenuto. Per le colonne che
iniziano con "0" puoi indicare di non usare il formato "Generale" (che
automaticamente cerca di discriminare testo e numeri), ma forzare il formato
"testo".
Ciao
Roberto
--
Roberto Restelli
Microsoft MVP - Office Systems - Outlook
************************************************
http://erredue.altervista.org
Roberto Restelli
2005-09-16 10:36:04 UTC
Permalink
Ciao Alex.
Post by Alex
speravo che ci fosse un metodo per farlo via visual basic,
per evitare di caricare i dati del file nelle celle di excel e
successivamente leggerle cella per cella e caricarle nella matrice.
Tutto quello che puoi fare da utente lo puoi fare anche con Visual Basic (e
molto di più), non vedo problemi di sorta.
Quali ostacoli hai trovato?

Ciao
Roberto
--
Roberto Restelli
Microsoft MVP - Office Systems - Outlook
************************************************
La prima raccolta delle FAQ del newsgroup Microsoft di Outlook:
http://erredue.altervista.org
Alex
2005-09-16 13:13:03 UTC
Permalink
questo è il codice che uso

Public Sub CreaBuono()
Dim nf, a
Dim i, FileSpedizione, Riga

Application.DisplayAlerts = False
FileSpedizione = ActiveWorkbook.Path + "\dati.txt"
nf = FreeFile

Open FileSpedizione For Input As #nf
Do While Not EOF(nf)
Line Input #nf, RigaFile
i = i + 1
Sheets("foglio1").Select
Cells(i, 1) = RigaFile
Cells(i, 1).Select
Selection.TextToColumns Destination:=Cells(i, 1),
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False,
Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False,
FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1),
Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18,
1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1),
Array(25, 1), Array(26, 1), _
Array(27, 1), Array(28, 1), Array(29, 1)), TrailingMinusNumbers:=True
For a = 1 To 30
Cells(i, a) = Trim(Cells(i, a))
Next a

Loop
Close #nf

End Sub

***
allo stato attuale devo importare tutto il file in un foglio di excel,
successivamente con la procedura dati,testo in colonna, separo i campi (il
mio separatore è il tab) leggo riga per riga le varie celle che contengono i
dati e le carico nell'array, io vorrei evitare di passare i dati nel foglio
di excel, ovvero usare una routine che quando leggo il file riconosca il
campo tabulatore e passi al campo successovo.
--
Alex
Post by Roberto Restelli
Ciao Alex.
Post by Alex
speravo che ci fosse un metodo per farlo via visual basic,
per evitare di caricare i dati del file nelle celle di excel e
successivamente leggerle cella per cella e caricarle nella matrice.
Tutto quello che puoi fare da utente lo puoi fare anche con Visual Basic (e
molto di più), non vedo problemi di sorta.
Quali ostacoli hai trovato?
Ciao
Roberto
--
Roberto Restelli
Microsoft MVP - Office Systems - Outlook
************************************************
http://erredue.altervista.org
Continua a leggere su narkive:
Risultati di ricerca per 'importare file di testo con campi separati da tab' (Domande e Risposte)
7
risposte
è buono mozilla firefox?
iniziato 2008-10-27 09:48:22 UTC
computer e internet
Loading...