Ciao a tutti,
ho un problema con una stampante di etichette (Intermec PC43d).
Praticamente ogni tanto mi stampa correttamente l'etichetta, altre volte (anche subito dopo) me ne stampa mezza o una piccola parte. Mi hanno detto che forse questo è dovuto al fatto che si chiude la porta prima che tutti i dati siano stati trasmessi al buffer. Però ho notato che anche se elimino l'istruzione di chiusura della porta (MSComm1.PortOpen = False) rimane lo stesso problema.
Qualcuno può aiutarmi?
C'è il modo di controllare che tutti i dati siano stati trasmessi prima di chiudere la porta?
Grazie!
Codice:
codice:
Private Sub cmdStampa_Click()
If cboLotto.ListIndex = -1 Then
MsgBox "Nessun codice lotto selezionato!"
'Else
'MsgBox "L'utente ha selezionato " & lstLotto.Text & ""
End If
If cboCertificato.ListIndex = -1 Then
MsgBox "Nessun certificato selezionato!"
'Else
'MsgBox "L'utente ha selezionato " & lstCertificato.Text & ""
End If
Dim strBuff As String
Dim PercorsoFile As String
PercorsoFile = "C:\Users\Elena\Desktop\Output.prn"
'Leggo tutto il file in modalità binaria (la piu' veloce) e salvo il contenuto in una variabile stringa strBuff
Open PercorsoFile For Binary As #1
strBuff = Space(LOF(1))
Get #1, , strBuff
Close #1
'eseguo il replace delle parole che voglio modificare
strBuff = Replace(strBuff, "LOTTO, CERTIFICATO", "" & cboLotto.Text & ", " & cboCertificato.Text & "")
strBuff = Replace(strBuff, "Testo lotto", "Lotto: " & cboLotto.Text & "")
strBuff = Replace(strBuff, "Testo certificato", "Certificato: " & cboCertificato.Text & "")
'sovrascrivo il vecchio file
Open "C:\Users\Elena\Desktop\Output1.prn" For Binary As #1
Put #1, , strBuff
Close #1
MSComm1.PortOpen = True
MSComm1.Output = strBuff
MSComm1.PortOpen = False
End Sub