PopAds.net - The Best Popunder Adnetwork

File sequenziali

    Le routine seguenti permettono di gestire con VBA i file sequenziali ovvero flussi di dati non indicizzati provenienti, per esempio, da file di testo (TXT), testo formattato (RTF), documenti Word (DOC), o pagine web (HTML). Anche se Excel apre gią automaticamente file di questo tipo, questa funzionalitą ci permette di selezionare ed indirizzare agevolmente le righe lette (records) o parti di esse. Inoltre possiamo scrivere file sequenziali partendo da un flusso di dati Excel come una riga, una colonna o un'area del foglio di lavoro.
    Creiamo un file di testo contenente una serie di righe valorizzate e salviamolo come "prova.txt". Apriamo un nuovo documento Excel e lo salviamo nella stessa cartella dove abbiamo inserito "prova.txt". A questo punto avviamo la console VBA e creiamo un nuovo modulo di codice dove inseriremo le due routine che andiamo a creare.
    La routine legge da "prova.txt" e scrive riga per riga sulla prima colonna del foglio di lavoro attivo. L'elaborazione consiste di una apertura del file (comando "Open"), di un ciclo di lettura (comando "Line Input") e scrittura sulle celle in colonna 1, e infine chiusura del file (comando "Close").
     Sub Legge()
        Filein1 = ActiveWorkbook.Path & "\prova.txt"
        'Fileou1 = ActiveWorkbook.Path & "\prova.html"
        'Fileou1 = ActiveWorkbook.Path & "\prova.rtf"
        'Fileou1 = ActiveWorkbook.Path & "\prova.doc"
    
        Open Filein1 For Input As #1
        Numriga = 0
    
    Leggi:   
        Numriga = Numriga + 1
        If Not EOF(1) Then     
        	Line Input #1, Job$
        	Cells(Numriga, 5) = Job$
    	GoTo Leggi
        End If
        Close
    End Sub
    	
    La routine ricava ciclicamente i valori dalla prima colonna del foglio di lavoro attivo e contestualmente li scrive nel file di testo "prova.txt" con il comando "Print".
    Sub Scrive()
        'scrive una colonna da un file di testo
        Fileou1 = ActiveWorkbook.Path & "\prova.txt"
        'Fileou1 = ActiveWorkbook.Path & "\prova.html"
        'Fileou1 = ActiveWorkbook.Path & "\prova.rtf"
        'Fileou1 = ActiveWorkbook.Path & "\prova.doc"
        Open Fileou1 For Output As #1
        Numriga = 0
    
    Leggi:
        
        Numriga = Numriga + 1
        Job$ = Cells(Numriga, 1)
        
        If Job$ <> "" Then
        	C$ = Job$
        	Print #1, C$
        	GoTo Leggi
        End If
        Close
    End Sub
    
    	
    I due esempi descritti sono molto semplici, ma con un po' di fantasia e buona volontą si possono fare cose molto interessanti. Vi invito a fare delle prove e magari ad inviarmi i vostri elaborati alla sezione contatti o aprendo una nuova discussione nel forum.

    Buon divertimento.