Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Lettura file di testo tramite Excel?

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

Lettura file di testo tramite Excel?

Postdi cassioli » 23/06/04 12:18

Che dite, e' possibile, con Excel, inserire in una cella un dato letto da un file di testo, senza usare Visual Basic?... Sarebbe mitico!
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Sponsor
 

Postdi Ribonix » 23/06/04 14:09

Certo che è possibile...
Nel lavoro che faccio uso spesso questa funzione con e senza macro.
Premetto che uso Excel 2000. Io procedo così:
- Vado sul Menù File - Apri
- Seleziono tipo file - Tutti i file *.* così apro anche quelli che hanno un estensione diversa dai .txt
- Seleziono il file da caricare (deve essere inferiore o uguale a 65.000 righe)
- se scelgo l'opzione Tipo dati originali - Larghezzza fissa posso decidere quali parte del testo mettere in una colonna e quali nelle restanti.

Fammi sapere ;)
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT

Postdi ezechiel2517 » 23/06/04 17:12

Se ti serve un solo valore in una precisa cella....il metodo + veloce e' di sicuro aprire il file con wordpad e copiarti il valore!
se ti serve tutto il file (o parte del file) va benissimo la soluzione di ribonix (che funziona con tutte le versioni di excel! ;) )
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi cassioli » 23/06/04 18:57

Ma che state a di... :aaah Non avete capito una mazza! :D
Mi spiego meglio:
volevo sapere se c'e' modo di scrivere una formula dentro una cella, in modo tale che in quella cella compare un pezzetto di testo preso da un certo file.

Il fatto è che ho un lungo file di testo in cui ogni riga contiene data, ora e temperatura rilevata a quell'ora, e che adesso uso il taglia/incolla per mettere i dati in excel; volevo sapere se la cosa puo' essere automatizzata.

Ritentate, sarete piu' forutnati! :P
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi Ribonix » 23/06/04 20:37

cassioli ha scritto:Non avete capito una mazza!

Ti abbiamo dedicato una piccola parte del nostro tempo per darti una risposta cortese alla tua richiesta, ma non hai il diritto di rispondere così nemmeno se l'hai scritto per scherzo. :x

cassioli ha scritto:l fatto è che ho un lungo file di testo in cui ogni riga contiene data, ora e temperatura rilevata a quell'ora, e che adesso uso il taglia/incolla per mettere i dati in excel; volevo sapere se la cosa puo' essere automatizzata.

Allora avevamo capito benissimo:
se i dati sono incolonnati tipo (faccio un esempio)
Codice: Seleziona tutto
DATA       ORA      TEMPERATURA
---------- -------- --
01/01/2004 01:00:00 10
01/01/2004 13:00:00 13
02/01/2004 01:00:00  9
02/01/2004 13:00:00 14
03/01/2004 01:00:00 10
03/01/2004 13:00:00 12
[....]

basta usare il sistema che ti ho descritto nel mio precedente post, poi una volta estrappolate le celle le copi e le incolli nel foglio dove hai gli altri dati...
Altrimenti devi purtroppo usare una macro.
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT

Postdi cassioli » 24/06/04 09:42

Ribonix ha scritto:
cassioli ha scritto:Non avete capito una mazza!

Ti abbiamo dedicato una piccola parte del nostro tempo per darti una risposta cortese alla tua richiesta, ma non hai il diritto di rispondere così nemmeno se l'hai scritto per scherzo. :x

E quanto sei permaloso.... :roll: se sto scherzando posso dire quello che mi pare, anche che tua nonna e' una carriola... :P
Vabbe'... scusa (per la carriola :P )

cassioli ha scritto:l fatto è che ho un lungo file di testo in cui ogni riga contiene data, ora e temperatura rilevata a quell'ora, e che adesso uso il taglia/incolla per mettere i dati in excel; volevo sapere se la cosa puo' essere automatizzata.

Allora avevamo capito benissimo:
se i dati sono incolonnati tipo (faccio un esempio)
Codice: Seleziona tutto
DATA       ORA      TEMPERATURA
---------- -------- --
01/01/2004 01:00:00 10
01/01/2004 13:00:00 13
02/01/2004 01:00:00  9
02/01/2004 13:00:00 14
03/01/2004 01:00:00 10
03/01/2004 13:00:00 12
[....]

basta usare il sistema che ti ho descritto nel mio precedente post, poi una volta estrappolate le celle le copi e le incolli nel foglio dove hai gli altri dati...

E' una palla :mmmh: . Tanto vale che continuo a usare il taglia/incolla dall'editor di testi a Excel...

Altrimenti devi purtroppo usare una macro.

A 'sto punto tanto vale che mi scrivo un programmino in wxBasic: questo lo conosco già, VisualBasic dovrei studiarmelo...
Naturalmente wxBasic non gira su Excel, dovrei anche scrivere il programma di visualizzazione dei dati.... E' piu' faticoso scrivere il programma di visualizzazione o impararsi il VIsualBasic? :roll: Mmmhh... :undecided:

Vabbe', grazie, mo ce penso...
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi Garde » 24/06/04 10:54

Se i dati sono impostati esattamente come ho visto nel post, excel dovrebbe essere in grado di importarli; apri il file di testo. Pero devi dirgli che la separazione è uno spazio (o qualunque carattere decidi), non larghezza fissa. poi salvi come cartella excel è hai il file excel pronto...

...ho non ho capito una mazza :?:
Garde
Utente Senior
 
Post: 220
Iscritto il: 21/01/04 10:35

Postdi Ribonix » 24/06/04 10:57

Sto cercando con tutta la mia disponibilità di venire incontro alla tua richiesta.
Tuttavia rimango dell'idea che devi moderare il tuo linguaggio SEMPRE.
Potresti postare un esempio di 2-3 righe dei tuoi dati?
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT

Postdi cassioli » 24/06/04 11:15

Ribonix ha scritto:Potresti postare un esempio di 2-3 righe dei tuoi dati?

Ne' piu' ne' meno che quello che hai ipotizzato tu nel tuo post! :D
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi ezechiel2517 » 24/06/04 11:55

Questo e' il codice che uso io per importare dei file di testo

Codice: Seleziona tutto
Public Sub ImportTextFile(FName As String, Sep As String)

Dim RowNdx As Integer
Dim ColNdx As Integer
Dim TempVal As Variant
Dim WholeLine As String
Dim Pos As Integer
Dim NextPos As Integer
Dim SaveColNdx As Integer

Application.ScreenUpdating = False
'On Error GoTo EndMacro:

SaveColNdx = ActiveCell.Column
RowNdx = ActiveCell.row

Open FName For Input Access Read As #1

While Not EOF(1)
    Line Input #1, WholeLine
    If Right(WholeLine, 1) <> Sep Then
        WholeLine = WholeLine & Sep
    End If
    ColNdx = SaveColNdx
    Pos = 1
    NextPos = InStr(Pos, WholeLine, Sep)
    While NextPos >= 1
        TempVal = Mid(WholeLine, Pos, NextPos - Pos)
        Cells(RowNdx, ColNdx).Value = TempVal
        Pos = NextPos + 1
        ColNdx = ColNdx + 1
        NextPos = InStr(Pos, WholeLine, Sep)
    Wend
    RowNdx = RowNdx + 1
Wend

EndMacro:
On Error GoTo 0
Application.ScreenUpdating = True
Close #1

End Sub


la chiamata alla sub la puoi fare con questo codice (una delle tante possibili soluzioni)

Codice: Seleziona tutto
Public Sub DoTheImport()
Dim FName As Variant
Dim Sep As String

FName = Application.GetOpenFilename  _
    (filefilter:="Text Files(*.txt),*.txt,All Files (*.*),*.*")
If FName = False Then
    MsgBox "Nessun File Selezionato"
    Exit Sub
End If

Sep = InputBox("Inserisci il separatore", _
        "Importare File da TXT")
ImportTextFile CStr(FName), Sep

End Sub
ezechiel2517
Utente Senior
 
Post: 1598
Iscritto il: 05/04/02 20:21

Postdi Ribonix » 24/06/04 12:00

Ti faccio un esempio che è in sintesi una procedura che uso io - senza macro.
Ho un tabulato stampato su file (quindi è un file di testo) dove ho n.fattura data codicefornitore importo
Sono separati da spazi e in alcune colonne dal carattere "|".

Sul foglio A ho già dei dati estrapolati da precedenti elaborazioni.
Uso la procedura dei campi a larghezza fissa caricando i dati dal file denominato per esempio DATI.TXT.
Una volta deciso la larghezza dei campi da estrarre e quali di questi tenere mi si apre un foglio B con dentro gli stessi dati già divisi per celle.
Copio quei dati o parte degli stessi in blocco e li incollo in coda ai dati già inseriti nel foglio A.
Come vedi un minimo di copia e incolla c'è, ma fatto in un unico passaggio e non singolarmente dato x dato.
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT

Postdi cassioli » 24/06/04 13:20

Ribonix ha scritto:Ti faccio un esempio che è in sintesi una procedura che uso io - senza macro[....]
Come vedi un minimo di copia e incolla c'è, ma fatto in un unico passaggio e non singolarmente dato x dato.

Io uso un sistema piu' semplice (ma comunque barboso, trattandosi di 48 dati al giorno e file da un mese ciascuno...): ConText editor, un editor di testi gratuito che permette la "selezione rettangolare del testo", ovvero la selezione per colonne invece che per righe.


Per la cronaca:
per avere i dati di temperatura di tutto il giorno, ogni mezz'ora, per un mese, uso un aggeggino sfiziosissimo che sichiama IButton, comprato su RS-Componets.it per, se non ricordo male, una ventina di euro. Va a pile. ha un'autonomia di una decina d'anni (!), è grande quanto un... bottone, per l'appunto, e si collega alla porta seriale del PC (per programmarlo e per scaricare i dati).
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi piercing » 24/06/04 13:50

Menù Dati -> Carica Dati Esterni...

Da li fai tutto...
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi Ribonix » 24/06/04 13:54

beh, meglio ancora:
una volta copiati con il tuo metodo i dati,
incolli le stesse in coda ai dati che hai già
poi vai alla voce "dividi testo in colonne"
che si trova nel meù "Dati"
e verrà eseguita la procedura dei campi a larghezza fissa...
fai la divisione in celle e dovresti risolvere il problema... ;)
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT

Postdi Ribonix » 24/06/04 14:01

piercing ha scritto:Menù Dati -> Carica Dati Esterni...
Da li fai tutto...


Bravo piercing! :) (abbiamo scritto in contemporanea)
come descritto da te si salta anche il passaggio di copiare il file dal text editor ed incollarlo in excel...
A questo punto si può solo decidere l'esatta divisione delle celle ed il gioco è fatto.
Allah Akhbar! Allah Akhbar! Allah Akhbar!
Avatar utente
Ribonix
Utente Senior
 
Post: 346
Iscritto il: 12/02/03 22:41
Località: 3GYPT


Torna a Software Windows


Topic correlati a "Lettura file di testo tramite Excel?":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti