Ok. Ecco un file di esempio:
http://rapidshare.com/files/3443276836/TEST_PRINT.txted il codice con cui leggo il tabulato e definisco le righe di inizio e fine su cui lavorare.
- Codice: Seleziona tutto
' CONTROLLA L'ESISTENZA DEL TABULATO
TabCtl100.Value = 4
If comp6.Value = -1 Then
If Len(Trim(tab6.Value & "")) <> 0 Then
filedacercare = ""
filedacercare = (Trim(Testo99.Value & "")) + "\" + (Trim(tab6.Value & ""))
If FileEsiste3(filedacercare) Then
' cerca la stringa che mi fa capire che inzia la parte di tabulato che mi interessa
' se la trova ne definisce riga iniziale e finale
rig6in = 0
rig6fi = 0
xc = 0
Close #4
Open Trim(filedacercare) For Input As #4
Do While Not EOF(4)
xc = xc + 1
Line Input #4, RigaTesto
If rig6in = 0 Then
ctrrig = "STRINGA : "
If (InStr(RigaTesto, ctrrig) <> 0) Then
rig6in = xc
End If
Else
ctrrig = "STRINGA FINALE"
If (InStr(RigaTesto, ctrrig) <> 0) Then
rig6fi = xc + 4
Exit Do
End If
End If
Loop
Else
If MsgBox("Errore critico !! Il tabulato " & Trim(tab6.Value & "") & " non è presente nella cartella specificata !! , vbCritical + vbYesNo, "Tabulato non presente") = vbYes Then
ctrl_bloc = -1
Else
ctrl_bloc = 1
End If
End If
End If
End If
con questa routine, controllo l'esistenza del file e se e' presnete lo leggo fino a definire la riga di inizio e di fine che servono per la mia elaborazione.
La routine di stampa, dovrebbe, una volta eseguita questa, stampare le righe comprese tra rig6in e rig6fi.
Qualcosa del tipo:
- Codice: Seleziona tutto
Close #4
Open Trim(filedacercare) For Input As #4
ri6 = 0
Do While Not EOF(4)
ri6 = ri6 + 1
Line Input #4, RigaTesto
' se compreso nell'intervallo
If ri6 >= rig6in And ri6 <= rig6fi Then
STAMPA LA RIGA <<====================
endif
loop
Il font non mi interessa. Dicevo 17cpi perchè pensavo che una stampa compressa permettesse la scrittura in verticale e non richiedesse particolari passaggi per impostare il foglio in orizzontale.
Finisco col dirti che non mi interessa la maschera per selezionare la stampante in quanto l'output dovrebbe essere indirizzato alla stampante predefinita del sistema.
P.S.
L'esempio allegato, essendo di poche righe, puo' essere stampato per intero.
questo codice gira su access 2003.
Grazie