Tengo esta macro que genera múltiples códigos QR en excel pero no puedo agregarle texto encima del QR

Se, de su conspicua habilidad para solucionar problemas de excel por lo cual acudo a ustedes,
tengo este inconveniente...
Tengo esta macro que me permite generar codigos qr, pero necesito crear múltiples qr y es algo complicado hacerlo uno por uno, mas aun, cuando me piden que debajo de cada qr debe tener el nombre y la identificación, para que dicho qr sirva tanto para loguearse como para identificarse...
La macro es la siguiente;
Function QrCode(codetext As String) 
Dim URL As String, MyCell As Range 
Set MyCell = Application.Caller 
URL = "https://chart.googleapis.com/chart?chs=150x250&cht=qr&chl=" & codetext 
On Error Resume Next 
ActiveSheet.Pictures("QR_" & MyCell.Address(False, False)).Delete 
On Error GoTo 0 
ActiveSheet.Pictures.Insert(URL).Select 
With Selection.ShapeRange(1) 
.PictureFormat.CropLeft = 10 'HACIA LA IZQUIERDA  
.PictureFormat.CropRight = 10 'ESPACIO HACIA LA IZQUIERDA 
.PictureFormat.CropTop = 50 'ESPACIO HACIA LA ARRIBA 
.PictureFormat.CropBottom = 30 'ESPACIO HACIA ABAJO REDUCE O AMPLIA EL AREA DE LA IMAGEN 
.Name = "QR_" & MyCell.Address(False, False) 
.Left = MyCell.Left + 7 
.Top = MyCell.Top + 5 
End With 
QrCode = "" 
End Function 
Si alguno sabe como agregarles a la imagen QR, el texto debajo, donde diga el nombre y la identificación de la persona.

1 respuesta

Respuesta
1

[Hola

Lo que hace tu UDF es usar "Google APIs" que convierten tu texto/enlace/URL/etc.  a una imagen con código QR pero, no es posible agregarle a esa imagen algún texto. Tendrías que conseguir/descargar/adquirir algún generador de QR con texto que se pueda usar con VBA. Aquí hay un ejemplo:

https://bytescout.com/products/developer/barcodesdk/bytescoutbarcodesdk-excel-with-vba.html 

Evidentemente tu UDF ya no te sería útil.

Sobre el usar ese código para convertir varios textos a la vez, pues deberías adaptarlo a una rutina (Sub) y no usarlo como UDF (Function) y programarle un bucle tipo "For - Each" pero, tendrías el dilema del tamaño del código pues podrían sobre ponerse.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas