Cómo crear códigos QR en Excel GRATIS (3 formas sencillas)
Recientemente me pidieron que agregara un código QR a un documento. Si bien los había visto antes, nunca había necesitado crear uno desde cero. Pero resulta que es bastante simple y gratuito en Excel. Entonces, en esta publicación, analizamos 3 formas sencillas de crear códigos QR en Excel.
Tabla de contenido
- Acerca de QuickChart.io
- Crea códigos QR con la función IMAGEN (Excel 365)
- Parametros basicos
- Usando parámetros adicionales
- Crear códigos QR con VBA
- Crea códigos QR con Office Scripts
- ¿Qué método utilizar?
- Conclusiones
Descargue el archivo de ejemplo: únase al programa Insiders gratuito y obtenga acceso al archivo de ejemplo utilizado para esta publicación.
Nombre del archivo: 0139 Códigos QR en Excel.zip
Tener acceso
Acerca de QuickChart.io
Todos los métodos de esta publicación utilizan un servicio en línea para generar la imagen del código QR. Usamos QuickChart.io , pero hay otros disponibles, como goqr.me y la API de Google .
Con QuickChart, sólo necesitamos una URL con la sintaxis correcta para generar un código QR. Por ejemplo, la siguiente URL genera el código QR.
https://quickchart.io/qr?text=https://exceloffthegrid.com
La sección después de text= es el texto incrustado en el código QR.
QuickChart.io tiene muchos parámetros adicionales para generar códigos QR. Aquí hay una selección de esos parámetros, que usaremos en la siguiente sección.
- margen: la cantidad de espacio en blanco alrededor del código QR (el valor predeterminado es 4)
- tamaño: el tamaño de la imagen en píxeles (el valor predeterminado es 150)
- oscuro: el color hexadecimal de las celdas oscuras (el valor predeterminado es #000000)
- luz: el color hexadecimal del margen de las celdas de luz (el valor predeterminado es #ffffff)
- ecLevel: la cantidad de corrección de errores, las entradas válidas son L, M, H, Q (el valor predeterminado es M o H si el código QR incluye una imagen)
- centerImageURL: la URL de una imagen para incluir en el centro del código QR
- centerImageSizeRatio: el % de espacio ocupado por la imagen central.
Nota: Si utiliza una imagen central, pruebe el resultado para asegurarse de que el código QR funcione. Si la imagen cubre demasiado código, es posible que no funcione correctamente.
Crea códigos QR con la función IMAGEN (Excel 365)
Desde finales de 2022, los usuarios de Excel 365 y Excel Online cuentan con la función IMAGEN. Si se combina con un servicio como QuickChart, podemos crear códigos QR dinámicos en Excel.
La función de imagen tiene la siguiente sintaxis.
=IMAGE(source, [alt_text], [sizing], [height], [width])
Los argumentos son:
- fuente: la ruta URL a la imagen
- alt_text (opcional): el texto para describir la imagen con fines de accesibilidad.
- tamaño (opcional): una configuración para representar cómo se debe configurar el tamaño de la imagen:
- 0 : Ajusta la imagen en la celda y mantiene la relación de aspecto.
- 1 : Estire o apriete la imagen para llenar la celda
- 2 : Mantenga el tamaño de la imagen original, incluso si está fuera de la celda
- 3 : Proporciona alturas y anchos personalizados
- altura (opcional): establece la altura de la imagen en píxeles donde el argumento de tamaño se establece en 3
- ancho (opcional): establece el ancho de la imagen en píxeles donde el argumento de tamaño se establece en 3
¿Quieres saber más sobre la función IMAGEN? haga clic aquí
Parametros basicos
Bien, probemos esto.
La celda C2 es la URL de Excel Off The Grid. La celda C3 usa C2 para crear la ruta URL completa para QuickChart.
="https://quickchart.io/qr?text="C2
La función en la celda C10 es:
=IMAGE(C3)
Eso es todo; eso es todo lo que se necesita para generar un código QR.
Si cambiamos el texto de la celda C2, el código QR cambia. Es completamente dinámico.
Usando parámetros adicionales
Jugar con los parámetros adicionales crea muchos estilos diferentes (todos disponibles en el archivo de descarga).
Código QR con una imagen en el centro
https://quickchart.io/qr?text=https://exceloffthegrid.comcenterImageUrl=https://exceloffthegrid.com/wp-content/uploads/2016/10/excel-off-the-grid-logo.webpcenterImageSizeRatio=0.5
Código QR con colores no estándar
https://quickchart.io/qr?text=https://exceloffthegrid.comdark=16522Elight=DDF7E8
Código QR con menor corrección de errores
https://quickchart.io/qr?text=https://exceloffthegrid.comecLevel=L
Crear códigos QR con VBA
Si no tiene Excel 365 y no utiliza Excel Online, entonces no tiene la función IMAGEN. Pero… hay otra opción usando VBA.
Copie el siguiente código en un módulo de código estándar. Luego, ejecute el código.
La macro coloca el código QR en las celdas C19:C25 de la Hoja1 según la URL de la celda C3 . Puede cambiarlos según sus necesidades.
Sub GenerateQRCode()Dim QRURL As StringDim QRShape As ObjectDim QRLocation As Range'Assign variablesSet QRLocation = Sheets("Sheet1").Range("C19:C25")'Create the URL pathQRURL = Sheets("Sheet1").Range("C3").Value'Delete the previous QR codeOn Error Resume NextSheets("Sheet1").Shapes("QRCodeVBA").DeleteOn Error GoTo 0'Get and create the imageSet QRShape = Sheets("Sheet1").Pictures.Insert(QRURL)'Change placement of imageWith QRShape .Name = "QRCodeVBA" .Top = QRLocation.Top .Left = QRLocation.Left .Height = QRLocation.Height .Width = QRLocation.HeightEnd WithEnd Sub
Crea códigos QR con Office Scripts
Entonces, habiendo visto un ejemplo de VBA, la siguiente pregunta es… ¿podemos hacer lo mismo con un script de Office? La respuesta es sí .
Copie el código siguiente en el editor de scripts. Luego, ejecute el script.
El script coloca el código QR en las celdas C27:C33 de la Hoja1 según la URL de la celda C3 . Cambie esto en el código de su escenario.
async function main(workbook: ExcelScript.Workbook) {//Assign variableslet ws = workbook.getWorksheet("Sheet1");let QRURL = ws.getRange("C3").getValue().toString();let QRLocation = ws.getRange("C27:C33");//Fetch the URL Requestlet QRResponse = await fetch(QRURL);//Store response as ArrayBuffer (required for an image file).let QRImageData = await QRResponse.arrayBuffer();//Convert image to base64let uInt8Array = new Uint8Array(QRImageData);let count = uInt8Array.length;let charCodeArr = new Array(count) as string[];for (let i = count; i = 0; i--) { charCodeArr[i] = String.fromCharCode(uInt8Array[i]);};let QRBase64 = btoa(charCodeArr.join(''));//Delete the previous imagetry { ws.getShape("QRCodeScripts").delete();} catch {};//Add image to worksheetlet QRShape = ws.addImage(QRBase64);QRShape.setName("QRCodeScripts");QRShape.setTop(QRLocation.getTop());QRShape.setLeft(QRLocation.getLeft());QRShape.setHeight(QRLocation.getHeight());QRShape.setWidth(QRLocation.getHeight());}
NOTA: No escribí todo este código yo mismo. Se basa en esta publicación de Microsoft:
https://learn.microsoft.com/en-us/office/dev/scripts/resources/samples/add-image-to-workbook
¿Qué método utilizar?
De los tres métodos, ¿cuál debería utilizar?
Si no tiene la función IMAGEN o Office Scripts, VBA es la única opción.
Sin embargo, si tiene IMAGEN y Office Scripts, depende de sus requisitos. Las soluciones Office Script y VBA crean una imagen estática en la hoja. Una vez que la imagen está allí, ya no depende de QuickChart.
La función IMAGEN es más dinámica, pero requiere QuickChart cada vez que se ejecuta.
Por lo tanto, si desea conservar versiones estáticas de los códigos QR, utilice el método Office Script o VBA. Sin embargo, si ese no es un requisito clave, entonces IMAGE es más fácil de aplicar.
Conclusiones
Hemos visto que podemos crear fácilmente códigos QR en Excel de forma gratuita usando QuickChart.io con 3 métodos (función IMAGEN, VBA y Office Scripts).
No importa qué método utilicemos, QuickChart.io nos brinda la posibilidad de personalizar el código QR con logotipos y combinaciones de colores.
Disfruten... feliz QRing.
Artículos Relacionados:
- Cómo enviar por correo electrónico o guardar imágenes de Excel con Power Automate
- Cómo cambiar imágenes según los valores de las celdas (3 formas)
- Cómo insertar, mover y eliminar imágenes con VBA
Deja una respuesta