Saltar al contenido
publicado

Buenas a todos foro.

Estoy dandole vueltas a ver que fallo me da la macro para generar un codigo QR y no soy capaz de detectarlo.

Y otra cosa, como se modificaría la macro de borrar el codigo? Porque boton que haya para ejecutar macro,  se lo ventila.

Gracias a todos por vuestro tiempo.

Generar código QR.xlsm

Solucionado por Abraham Valencia

Ir a la solución

Featured Replies

publicado

Hola.  Ya no funciona hace un año aproximadamente, Google ya había informado, al menos hace una década, que consideraba obsoleto el uso de dicha API y ya apagaron los servidores. Las alternativas son acordes a la versión de Excel que usar ¿tienes la versión 2016 como dice en tu perfil o ya actualizaste?

publicado
  • Solution

Para esa versión se me ocurre usar otra web y una UDF:

 

Function InsertQRCode(celda As Range) As String
    
    Dim mirango As Range
    Dim QRCodeURL As String
    
    Set mirango = Application.Caller
    
    QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value
    
    With ActiveSheet.Pictures.Insert(QRCodeURL)
        .Left = mirango.Left
        .Top = mirango.Top
        .Width = mirango.Width
        .Height = mirango.Height
    End With
    
    InsertQRCode = ""
    
End Function

 

publicado
  • Autor

Mil gracias @Abraham Valencia

El código que genero es  dependiendo de unos datos, así que es variable.

Entonces observo que cada vez el qr tiene el nombre de una imagen diferente, así que como podría borrar el anterior, teniendo en cuenta que tengo otra imagen fija y un botón de macro en la misma hoja.

Y por defecto sale muy chico el qr, se podria poner a una resolución fija de 3,00x3,00 y una posición fija?

Editado el por muyayito

publicado
Function InsertQRCode(celda As Range) As String
    
    Dim QRCodeURL As String
    On Error Resume Next
    
    ActiveSheet.Shapes("QR").Delete
    
    QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value
    
    With ActiveSheet.Pictures.Insert(QRCodeURL)
        .Name = "QR"
        .Left = 500
        .Top = 25
        .Width = 300
        .Height = 300
    End With
    InsertQRCode = ""
    
End Function

Adáptalo a tus necesidades.

Crear una cuenta o conéctate para comentar