首页 > 解决方案 > 如何从多个 Excel 单元格创建 QR 码

问题描述

我正在寻找 VB 中的代码来生成二维码。数据是前 20 行中的文本,只有 1 列 A。我想生成包含 20 个单元格中记录的序列号的 QR 码。我找到了以下代码,但这会为每个单元格条目生成二维码并将其保存到该位置。但我正在寻找一个 20 个单元格的二维码。目前我必须手动复制数据,然后粘贴到任何网络 QR 生成器并下载 PNG 文件。我想自动化它,这样我就不必每次都去网站生成二维码。

我使用的代码是。

Sub InsertQR()

          Dim xHttp: Set xHttp = CreateObject("Microsoft.XMLHTTP")
          Dim bStrm: Set bStrm = CreateObject("Adodb.Stream")
          Dim size: size = 500 'dalam Pixels
          Dim QR, Name, val
          Dim Invalid: Invalid = "\/:*?" & """" & "<>|"
          For Each val In Selection
        Name = val.Value
        For intChar = 1 To Len(Name)
            If InStr(Invalid, LCase(Mid(Name, intChar, 1))) > 0 Then
                MsgBox "The file: " & vbCrLf & """" & Name & """" & vbCrLf & vbCrLf & " is invalid!"
                Exit Sub
            End If
        Next
        QR = "http://chart.googleapis.com/chart?chs=" & size & "x" & size & "&cht=qr&chl=" & Name
        xHttp.Open "GET", QR, False
        xHttp.Send
        With bStrm
            .Type = 1 '//binary
            .Open
            .write xHttp.responseBody
            .savetofile ThisWorkbook.Path & "\" & Name & ".png", 2 '//overwrite
            .Close
        End With
    Next
End Sub

非常感谢大家的帮助。

标签: excelvbagoogle-apiqr-code

解决方案


推荐阅读