Excel QR Code

使用Excel產生QR code(進階) - 利用VBA批次產QR code。

田語錡 2018/12/28 22:26:52
11801

使用Excel產生QR code(進階) - 利用VBA批次產QR code。


簡介

本文使用Excel的VBA產生大量的QR Code。

作者

田語錡


1.      前言

本文使用ExcelVBA產生大量的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.      手機測試結果

 

           
田語錡