使用Excel產生QR code(進階) - 利用VBA批次產QR code。
使用Excel產生QR code(進階) - 利用VBA批次產QR code。
簡介 |
本文使用Excel的VBA產生大量的QR Code。 |
作者 |
田語錡 |
1. 前言
本文使用Excel的VBA產生大量的QR Code。
2. Excel文件相關設定
l 首先新建一個按鈕,並新增一個巨集
程式碼:
Sub Click()
Set myCell = Application.InputBox(prompt:="請選擇儲存格或範圍", Type:=8)
AA = myCell.Address
'sheet的名稱要給要顯示的sheet,Range為複製的格式
Worksheets("QR2").Range("A1:B5").Copy Destination:=Worksheets("QR2").Range(AA)
End Sub
l 接著在每一個儲存格,定義名稱(右鍵→定義名稱)。
l 名稱輸入QR_加第幾個的序號。
3. 主程式撰寫
l 新建一個工作表,並將資料輸入至A欄內。
l 接著新建一個按鈕,並新增一個巨集
程式碼:
Sub QR_Click()
Dim idx As Integer
For idx = 1 To 4 '依照總比數修改迴圈結束數值
genQRcode (idx)
Next idx
End Sub
Private Sub genQRcode(idx As Integer)
Dim QR As Object
Dim QR_Link As String
Dim qrcodeValue As String
QR_Link = "https://chart.googleapis.com/chart?chs=100x100&cht=qr&chl= "
qrcodeValue = ActiveSheet.Cells(idx, 1).value
'產生QR Code 及 設定QR Code圖片位置
Dim sheet As Worksheet
Dim cellName As String
Dim qrcodeRange As Range
Dim img As Picture
' sheet的名稱要給要顯示的sheet,Range
Set sheet = ActiveWorkbook.Sheets("QR") ' Get another WorkSheet
' cellName要給定義名稱的資料
cellName = "QR_" & idx
Set qrcodeRange = sheet.Range(cellName)
Set img = sheet.Pictures.Insert(QR_Link + qrcodeValue)
With img
.ShapeRange.LockAspectRatio = msoFalse
.Left = qrcodeRange.Left + 2
.Top = qrcodeRange.Top + 5
End With
End Sub
4. 測試結果
l 點選 產生 QR Code
5. 手機測試結果