Problema al leer código de barra

del foro;tengo una programación que me genera el código de barra;el código lo genera perfecto pero los lectores no lo leen;probé con varias fonts;la mejor había sido la code3x y la code 128 pero probé con el celular y lo genero online con el code 128 y lo leee perfecto y rqapidisimo, pero al generarlo con el excel(en pantalla o impreso)no lo lee;¿Qué puede ser?

1 respuesta

Respuesta
1

Los códigos de barras tienen sus peculariedades, "3 of 9 Barcode" necesita un carácter para decir al lector donde empieza y donde acaba de leer, en este caso sería el *

Para el code128, es algo más complicado, ya que necesita de programación para calcular diferentes códigos dentro del barcode, además de ser un código de pago.

En el siguiente enlace te dejo la fuente "3 of 9 Barcode", con este código tienes los caracteres del abecedario más algunos símbolos, si necesitas algo más deberías pasar a code128.

https://mega.nz/#!MAB3QQBa!HPeivsmQK95VoEYhgYUqjhwhdVO38zAOQyCsvoCxjqo

Prueba con esto y si no te es suficiente, probaremos con code128.

No olvides valorar la respuesta.

Ahora no estoy en casa Para probarlo pero te comento que ya probé ese código; el problema esque si usó ese código  online escribiendo números me genera el código ycon el celular Lo ha leído perfecto generando lo con ese mismo código en Excel el celular no me lo registra y si lo imprimo tampoco,eso es lo q no entiendo

hola juan,como te anticipe,tampoco funciona

'''''

Buenas noches,

Por la experiencia que tengo con los códigos de barras, generarlos en excel no dan problemas, siempre suele ser el error a la hora de utilizar los correctos. Te adjunto la descarga de un excel con un generador de códigos, que puedes ampliar a cada celda que requieras.

Esta puesto el code 3 of 9 y el code128, el primero, como te comenté anteriormente solo utiliza el * como inicio y fin de código, el segundo utiliza una macro generada por un amable usuario de Francia (Granzebu), el cual lo creo como código libre. (Tienes la macro incluida en el excel)

Nunca debes de generar el código como imagen y modificar el tamaño, ya que entonces no funciona, imprime el excel y lee el código, deben de funcionar correctamente, los dos estan probados.

https://mega.nz/#!AZBDSajZ!ZBG5UXG_OeeGqsNJl1kYn0cGYkPaBkV9CzKD18crL_8

Espero te sirva de ayuda.

Saludos desde Barcelona

'

'

Hola Juan, ante todo mil gracias y al margen de mi consulta, te comento que estoy planeando un viaje para conocer tu ciudad el año próximo con mi sra;con lo que me mandaste lo lee perfecto, el tema es como puedo injertar tu macro ya que, yo tengo una macro bastante complicadita ya hecha;te adjunto un parcial de ese código que tengo(si es necesario te envío el archivo)para que vea como procedo a generar el código de barras ... al aparecer el nombre de determinado proveedor, utiliza el código code3x del numero(por ejemplo) 32584192

If sProveedor = "perez, gonzales & CIA S.A.I.C." Then
            sCodBar = Replace(Replace(ActiveCell.Text, "(", ""), ")", "")
            If InStr(1, sCodBar, "/") Then
                If Len(Trim(sCodBar)) >= 10 Then
                    sCodBar = Mid(sCodBar, 1, 10)
                End If
            Else
                If Len(Trim(sCodBar)) >= 8 Then
                    sCodBar = Mid(sCodBar, 1, 8)
                End If
            End If
            ActiveCell.Value2 = sCodBar
        End If
        ActiveCell.Offset(0, 1).Select
        iLen = Len(Trim(ActiveCell.Text)) 'Leyenda adicional
        ActiveCell.Offset(0, 5).Select
        Selection.Copy
        Sheets("Plantilla").Activate
        'CONSULTA SI TIENE ETIQUETAS ANTES O NO
        If ULTCELDA <> "" Then
            Sheets("Plantilla").Range(ULTCELDA).Select
        Else
            Sheets("Plantilla").Range("A1").Select
        End If
        i = 0
        For i = 0 To CANT - 1 Step 1
            If SALTO = 2 Or SALTO = 4 Or SALTO = 6 Or SALTO = 8 Or SALTO = 10 Or SALTO = 12 Or SALTO = 14 _
                Or SALTO = 16 Or SALTO = 18 Or SALTO = 20 Or SALTO = 22 Or SALTO = 24 Or SALTO = 26 Or SALTO = 28 Or SALTO = 30 _
                Or SALTO = 32 Or SALTO = 34 Or SALTO = 36 Or SALTO = 38 Or SALTO = 40 Or SALTO = 42 Or SALTO = 44 Or SALTO = 46 _
                Or SALTO = 48 Or SALTO = 50 Or SALTO = 52 Or SALTO = 54 Or SALTO = 56 Or SALTO = 58 Or SALTO = 60 Or SALTO = 62 _
                Or SALTO = 64 Or SALTO = 66 Or SALTO = 68 Then 'AGREGA MAS SEGUN NECESITES
                ActiveCell.Offset(1, -2).Select 'SI CAMBIAS LO DE ARRIBA TAMBIEN DEBERAS CAMBIAR ESTE RETROCESO
            End If
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            With ActiveCell.Characters(1, Len(ActiveCell.Text)).Font
                .Name = "Arial"
                .FontStyle = "Normal"
                .Size = 9
            End With
            Sheets("etiquetas").Activate
            Selection.Copy
            Sheets("Plantilla").Activate
            If iLen > 0 Then
                With ActiveCell.Characters(Len(ActiveCell.Text) - iLen, iLen + 1).Font
                    .Name = "Arial"
                    .FontStyle = "Negrita"
                    .Size = 10
                End With
                Sheets("etiquetas").Activate
                Selection.Copy
                Sheets("Plantilla").Activate
            End If
            If Len(sCodBar) > 0 Then
                With ActiveCell.Characters(InStr(1, ActiveCell.Text, sCodBar), Len(sCodBar)).Font
                    .Name = "CODE3X"
                    .Size = 34
                End With

Enviame un ejemplo de tu fichero, no te puedo decir que sea capaz de ajustarlo, pero lo intento.

Soy un poco iniciado en macros, y parece que lo que tienes es una programación completa.

Te intento ayudar, mi correo es [email protected]

Barcelona os gustará

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas