Newsgroup: it.comp.lang.visual-basic
Titolo: Procedura birichina

Questa procedura gira a "vuoto" una volta si e una no... e non capisco
perchè...
Dovrebbe leggere le righe di un file di testo ed estrapolare delle
informazioni dal file per poi inserirle nelle celle di un foglio
excel, però una riga si e una no nel foglio excel sono vuote, esempio
la prima riga la compila giusta poi salta una riga e poi compila la 3
riga coi dati della seconda... perchè?
Cosa ho sbagliato?
Sub Import()
Dim PathI, FileI, RigaI As String
Dim P, R As Integer
Dim PointN, PointC, PointM As Integer
    'Leggo e importo il file di input "vecchio" in modo da
autocompilare i campi per la creazione del file di input
    PathI = "D:\"
    FileI = PathI & "file.txt"
    P = 6 'Perchè la riga dove inizio ad inserire è al 6
    Close #2
    Open FileI For Input As #2
        Do While Not EOF(2)
            'R = R + 1
        'Loop
        'ReDim RigaI(R)
        'For P = 1 To R
            'Leggo una alla volta le righe del file
            Line Input #2, RigaI
            'MsgBox RigaI
            'Recupero i campi da inserire dalla riga
            'Operazione
            Operazione = Mid(RigaI, 1, 1)
            'Nome
            Nome = Trim(Mid(RigaI, 2, 25)) ' toglie spazi in coda
            'Cognome
            Cognome = Trim(Mid(RigaI, 27, 25)) ' toglie spazi in coda
            'CodAgNuova
            CodAgNuova = Mid(RigaI, 52, 5)
            'CodAgVecchia
            CodAgVecchia = Mid(RigaI, 57, 5)
            'Falg Agente
            FlagAgente = Mid(RigaI, 62, 1)
            'Flag PF
            FlagPromotore = Mid(RigaI, 63, 1)
            'Flag CS
            FlagCapoSettore = Mid(RigaI, 64, 1)
            'Flag ICA
            FlagIspettoreCapoArea = Mid(RigaI, 65, 1)
            'Flag AGE
            FlagAccessoPostaAg = Mid(RigaI, 66, 1)
            'Flag solo dominio
            FlagSoloDominio = Mid(RigaI, 67, 1)
            'Matricola
            Matricola = Mid(RigaI, 68, 9)
    'Procede alla compilazione dei campi del foglio excel
    'For P = 6 To R
            With Foglio1
                'Progressivo
                .Cells(P, 1) = "" 'Inserito a mano
                'Operazione
                .Cells(P, 2) = Operazione
                'Matricola
                .Cells(P, 3) = Matricola
                'Account
                .Cells(P, 4) = "" 'Campo non presente nel vecchio
file, inserito a mano
                'Nome
                .Cells(P, 5) = Nome
                'Cognome
                .Cells(P, 6) = Cognome
                'Cod. Ag Nuova
                .Cells(P, 7) = CodAgNuova
                'Cod.Ag Vecchia
                .Cells(P, 8) = CodAgVecchia
                'Flag Agente
                .Cells(P, 9) = FlagAgente
                'Flag PF
                .Cells(P, 10) = FlagPromotore
                'Flag CS
                .Cells(P, 11) = FlagCapoSettore
                'Flag ICA
                .Cells(P, 12) = FlagIspettoreCapoArea
                'Flag AGE
                .Cells(P, 13) = FlagAccessoPostaAg
                'Flag Solo Dominio
                .Cells(P, 14) = FlagSoloDominio
            End With
                P = P + 1
        'Next
        Loop
    Close #2
    'Call Compila
End Sub

    P = 6 'Perchč la riga dove inizio ad inserire č al 6


 ha scritto nel messaggio 
news:1189512579.3...@50g2000hsm.googlegroups.com...
Questa procedura gira a "vuoto" una volta si e una no... e non capisco
perchè...
Dovrebbe leggere le righe di un file di testo ed estrapolare delle
informazioni dal file per poi inserirle nelle celle di un foglio
excel, però una riga si e una no nel foglio excel sono vuote, esempio
la prima riga la compila giusta poi salta una riga e poi compila la 3
riga coi dati della seconda... perchè?
Cosa ho sbagliato?
[Snip]
Vedi un po' di postare codice valido e non mezzo commentato, altrimenti per 
forza che "gira a vuoto".
Poi magari posta anche un paio di righe del foglio dati, così si può vedere 
cosa tiri dentro.
Ciao

 cosa tiri dentro.
Ecco 2 righe del file che vado a leggere
MFrancesca                Tedino                   23199
NNSNNN000325346
IBenedetto                Gioeni                   01202
NNSNNN000101479

        If UBound(I) > 0 Then
bella la gunzione di split però ho vistp che usa come separatore lo "
" e il file che vado a leggere è pieno di spazi...
ecco 2 righe
MFrancesca                Tedino                   23199
NNSNNN000325346
IBenedetto                Gioeni                   01202
NNSNNN000101479
mi server per forza la funzione line, o meglio io conosco solo
questa...

>questa...
Per quanto riguarda gli spazi, li puoi semplificare a uno in questo
modo:
Stringa = Split(Replace(Stringa,"  "," "))
In questo modo ottieni un array "Stringa()" privo di spazi aggiuntivi.


Proverò