Hirdetés

Keresés

Új hozzászólás Aktív témák

  • sztanozs

    veterán

    válasz Papa100 #3140 üzenetére

    Option Explicit

    'Használata:
    'GenerateQR Range("B2"), "https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=BEGIN:VCARD%0AN:Teszt%20Elek%0AEND:VCARD"
    '
    Public Sub GenerateQR(R As Range, Url As String)
    Dim im As Object
    Set im = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, DisplayAsIcon:=False, Left:=R.Left, Top:=R.Top + 2, Width:=1, Height:=1)
    im.Object.AutoSize = True
    im.Object.BorderStyle = 0
    im.Object.PictureAlignment = 0
    Set im.Object.Picture = GetPicture(Url)
    R.ColumnWidth = im.Width * 0.141 * 1.333
    R.RowHeight = im.Height + 4
    End Sub

    Private Function GetPicture(Url As String) As StdPicture
    Dim wv As Object
    Set wv = CreateObject("WIA.Vector")
    wv.BinaryData = GetWebData(Url)
    Set GetPicture = wv.Picture
    Set wv = Nothing
    End Function

    Private Function GetWebData(Url As String) As Byte()
    Dim objHTTP
    Set objHTTP = CreateObject("Microsoft.XMLHTTP")
    objHTTP.Open "GET", Url, False
    objHTTP.Send
    If objHTTP.statusText = "OK" Then
    GetWebData = objHTTP.ResponseBody
    End If
    Set objHTTP = Nothing
    End Function

Új hozzászólás Aktív témák