FAQ TBarCode OCX
Stampa Tramite Excel VBA: il Codice a Barre Non Viene Aggiornato
Stampa Tramite Excel VBA: il Codice a Barre Non Viene Aggiornato
Modificate il contenuto delle celle collegate o del controllo codice a barre, quindi stampate direttamente da VBA. Ma notate che i controlli codice a barre contengono ancora i vecchi valori. Il motivo è che Excel non invia un comando di ridisegno ai controlli ActiveX prima della stampa (se eseguita da VBA). Si tratta di un bug di Excel.
Esiste una soluzione alternativa per forzare il ridisegno degli oggetti: dovete indirizzare ogni controllo ActiveX per codici a barre a livello di programmazione in VBA e modificarne le dimensioni prima della stampa. Verrà quindi ridisegnato da Excel.
'redraw a single barcode object by addressing it through its instance name Dim origValue origValue = TBarCode101.Width TBarCode101.Width = origValue + 1 TBarCode101.Width = origValue
' redraw all ActiveX Controls on the current sheet
Sub UpdateOLEControls()
Dim myShape As shape
Dim counter As Integer
Dim origWidth As Single
For counter = 1 To ActiveSheet.Shapes.Count
Set myShape = ActiveSheet.Shapes(counter)
If (myShape.Type = msoOLEControlObject) Then
' resize => force redraw
origWidth = myShape.Width
myShape.Width = origWidth + 1
myShape.Width = origWidth
End If
Next counter
End Sub