Jump to content
Posted

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

Solved by Abraham Valencia

Go to solution

Featured Replies

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?

  • 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

 

  • Author

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?

Edited by muyayito

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.

Create an account or sign in to comment