Categories
programación

Generar códigos de barras Code 128 desde excel

code_128

Si se busca como generar códigos de barras Code 128 desde excel en internet, se encontrará con cientos de resultados de empresas que venden productos para generar este tipos de códigos, pero no es trivial encontrar un recurso gratuito y libre… pero los hay. En sourceforge hay un proyecto llamado ‘openbarcodes‘ que proporciona los recursos adecuados para generarlos y por supuesto es libre y gratuito su uso.

Los pasos a seguir para generar los códigos son los siguientes:

  1. Descargar el siguiente fichero que contiene la fuente a usar para generar los códigos de barras:
  2. Extraer el fichero code128.ttf en el directorio FONTS de Windows (normalmente es “C:\WINDOWS\Fonts”). En mi caso está en la siguiente ubicación:
    carpeta_fonts
  3. Descargar el siguiente fichero excel que contiene la macro necesaria para generar etiquetas Code 128 con checksum, ya que sino los lectores de barras no las leen correctamente.
  4. En la columna A se introducen las cifras (o datos) que se quieren codificar, y en la colunma C aparecen las etiquetas codificadas. La columna B está oculta porque se utiliza para realizar cálculos intermedios.
    excel_code128

Fuente: grandzebu.net

219 replies on “Generar códigos de barras Code 128 desde excel”

Los códigos de barras de formato Code 128 está diseñado para representar los 128 caracteres del estándar ASCII americano, entre cuyos caracteres imprimibles no se encuentra la ‘ñ’. Si necesitas imprimir etiquetas con el carácter ‘ñ’ te recomiendo uses el formato PDF417, que ofrece más seguridad y polivalencia. Sino, siempre puedes hacer un apaño e imprimir el caracter de alguna forma especial que luego puedas leer e interpretar a tu gusto.

Hola, mi problema es que me he bajado un par de macros para excel y parece que funciona pero cuando muestra el codigo de barras mete como unos rectangulos que hacen que no se lea bien.
Tambien pasa en la hoja de excel que has colgado tu, si añado algun numero mas en la columna A, me muestra el codigo con los dichosos rectangulos incrustados entre las barras y no funciona. Si abro la columna B, el codigo que sale no es el correcto, lo he comprobado con una utilidad que al darle el codigo te muestra ese campo de la columna B.

@Belve, cuando sales esos rectángulos que tu dices quiere decir que no pude mostrar el carácter correspondiente. ¿Es posible que en vez de estar insertando número estés insertando algún tipo de carácter especial?

@sucotronic, No, solo uso numeros y estoy probando con ‘12345678’ y con ‘1234567890’, si lo pongo en la aplicacion que me he bajado me dice:

‘12345678’ = ‘Ò,BXnOÓ’ pero en el excel me sale ‘·,BXnOÄ’
y un codigo de barras con los rectangulos esos.

@Belve, pues no tengo ni idea de lo que puede ser, porque si al abrir el excel ves correctamente los códigos que ya hay, es que has instalado bien la fuente y no debería salir nada. Asegurate de seleccionar la delda donde debería salir el código de barras y cambiar la fuente a “code 128”.

Tema solucionado, el problema es que no tenia habilitadas las macros, fui a Herramientas/Macros/Seguridad y baje el nivel a medio para que te pregunte cuando abres el excel.

@Belve, me alegro de que lo hayas solucionado.A veces las cosas más evidentes son las más puñeteras 😛

Estimados
He realizado lo indicado para la generacion del codigo y anda bien, pero cuando leo el código con una pistola, retorna caracteres adicionales. por ej, 64000 lee 64000
Les agradeceria cualquier comentario.
Saludos

Estimado, yo tengo una rutina que te imprime codigos en cod39 muy facil si te interesa mandame un correo y te la mando.

@daniel, ahora no dispongo de ningún lector para comprobarlo, pero prometo mirarlo cuando tenga uno a mano.

@juan pablo,
Juan pablo a mi me interesa realizar codigos de barras ean13, tenes alguna forma de realizarlo, espero que si
desde ya muchas gracias
Saludos

@Daniel_argentina, en la misma fuente de donde yo he sacado los archivos tienes un apartado para generar códigos ean13. Te dejo los enlaces:

  • ean13.ttf fuente que genera los símbolos
  • ean13.xls fichero excel con función para generar códigos ean13 usando la fuente ean13.ttf

Para usarlos sigue las mismas instrucciones que para el code128 descritas en el artículo y ya podrás generar lo códigos ean13 en excel.

Muchas Gracias Juan pablo, lo baje y lo probe esta muy bueno, pero, te hago otra consulta, yo tengo una base de datos de aproximadamente 30000 scaning ( es este numero 7790139000219 de 13 digitos y 77925693 de 8 digito) como veras esta base ya tiene el digito verificador, yo necesito convertir este numero en barras. se puede realizar? desde ya muchas gracias por la respuesta anterior que me diste

@juan pablo,
Juan Pablo, no puedo realizar la barra ingresando los 13 digitos solo se crea cuando ingreso 12
con el ean8 pasa lo mismo, me podrias dar una mano con esto por favor, y te pido disculpas por molestarte, pero sos el unico que me dio una respuesta concreta hasta el momento
saludos
Daniel
PD. me pasas tu mail, para enviarte la planilla que quiero utilizar

tengo una macro que lee un codigo de barra
pero tengo que poner un boton llamado “ok”
para que realice la opcion de busqueda y plasme los campos
mi intencion es que inmediatamente que lea el codigo plasme los campos
como puedo lograr esto, te lo agradeceria mucho

Hola:
Gracias por el artículo.
Llevo varios dias buscando algo como esto y me has salvado la vida.
A mí me funciona de PM.
Saludos

Muchísimas gracias. No sabes la de problemas que me has solucionado con este post y la de ideas que me has dado de cómo aprovecharlo para agilizar mi trabajo.
Un saludo.
Luis

Que tal, buen día a todos :

Tengo la siguiente pregunta : estoy utilizando Excel y ya tengo convertido cadenas de caracteres (como lo son números de series de productos)a codigo de barras; ahora, necesito poder leer un codigo de barras que me despliegue en pantalla la letra “R”, estoy intentando lo siguiente :
1.- imprimir la letra R con la fuente o Font de código de barras y leer con un scanner pero no funciona
2.- agregar “*” al inicio y fin de la “R”, pero tampo me lo lee
3.- tambien =concatenate(“*”,R,”*”) en Excel pero tampoco me funciona
alguna idea de como solucionarlo ??? les agradezco
gracias, saludos !!!!

@Ganiri, te recomiendo que compruebes la configuración de tu escáner, ya que puede que no la configuración que tiene actualmente no tenga activados los códigos que tu quieres leer. Normalmente se programan con manuales del fabricante que tienen los comandos de programción en forma de códigos de barras.

si, sabes que acutalmente estoy leyendo con mi scanner varios numeros de serie de cierto producto sin problema; este numero de serie debe llevar al inicio simpre una letra “R”, pero hay ocasiones en que no la tiene, entonces cuando esto sucede tengo que teclear manualmente la letra y continuar escaneando, pero hay ocasiones que son muchos números de serie y me gustaria tener a la mano la “R” en codigo de barra para que la captura fluyera continua …cualquier idea es bienvenida….
gracias !!

@Ganiri, lo mejor es que resetees el escáner leyendo el código apropiado y hagas las pruebas en una aplicación de texto simple como Notepad.

@roman, si buscas por google encontrarás soluciones de pago para generar códigos ean8 en excel. Si sabes programar también puedes intentar modificar el código que puse en el artículo de códigos pdf417 para que genere códigos ean8.

Buenos dias estimados,

La macro esta muy buena para colocar codigos 128 en esta hoja en especifico y los lee muy bien, pero se puede utilizar estos codigos de barra en otras hojas de excel?
He intentado y solo errores como los que mencionan me han salido, rectangulos enmedio de las barras y codigos que el escaner no puede leer. Probe copiando la hoja entera a otro archivo y nada tampoco. Me podrian asistir por favor para poder usar este font en otra hoja de excel y que el escaner lo pueda leer. Gracias de antemano

@Victor Leva, el problema es que para que funcione la función que calcula el código de seguridad en los códigos de barras 128 necesitas la macro. Así que si quieres usarlo en tu propia hoja excel necesitas copiarte el código también (abriendo el editor de macros).

Haber, donde tienes la hoja que si te funciona presiona alt-f11 ahí esta la
macro que ejecuta lo que pides luego esa macro la copias (copiar-pegar) en
otra macro asignándole un nombre , puede ser el mismo u otro pero recuerda
llamar a la macro por el nombre que le pusiste.

Hola Esto me vino muy bien el tema es el siguiente Creo con word una hoja para combinar etiquetas y lo crea todo Bien pero a la hora de leerla con el escaner No lo reconoce.Tenes algun idea de que sera?
Muchas Gracias
Aravena SErgio

Debes fijarte que tipo de datos lee tu pistola, por otro lado fíjate si esta la etiqueta completa en la imagen…

@Sergio, como dice kpeando, asegurate de que la pistola está configurada para aceptar códigos code128, y primero prueba a imprimir códigos directamente generados con la hoja excel.

Hola. Necesito generar un código de barra de 13 caracteres, ya probé con la fuente ean-13 en excel, word, pero la imagen mostrada es diferente a la que necesito. Debería ser el código con la primera y última barra más larga que las demás, además el primer dígito antes de la primera barra y el último luego de la última barra. He leido muchos foros y todos sugieren ean-13 pero no me funciona en excel. He cambiado el formato de celda a General, número, texto, con asterisco al principio y al final, pero nada que funciona. Agradezco cualquier ayuda.

@Iris, el hecho de que en muchos códigos de barras la primera y última barra sean más largas es algo estético, ya que funcionalmente se leen igual. Si necesitas que sean así con Excel probablemente no puedas, y necesites algún programa especial, o si no vas a necesitar muchas quizás puedas hacer un apaño con Word.

Estimados: se genera el código, pero al inicio y al final de las barras veo dos letras. Algo del estilo del siguiente ejemplo:

Palabra: “probando” se transforma en algo de la forma Ñ||||Ó
(puse el caracter “|” para ejemplificar barras, no aparecen todas barras iguales).

Muy agradecido si alguien puede ayudarme.

Saludos

Leave a Reply

Your email address will not be published. Required fields are marked *