(5樓,更新另一種版本的範例,可在x32 x64 excel執行)
(9樓,新增簡易版 webcam掃描範例)
(11樓,使用“鐵蛋”這位高手提供的zbar+vbs,重新改寫成vba版webcam連續掃描範例)
Qrcode 如果用純 vba ,不利用任何 library ,程式碼會很長
新手想要搞懂,會很辛苦
不含lib的“純vba”版,以下2個網址,有範例可下載,有興趣可看看,但程式碼很長喔

https://stackoverflow.com/questions/16143331/generating-2d-pdf417-or-qr-barcodes-using-excel-vba
https://code.google.com/archive/p/barcode-vba-macro-only/downloads
如果改用線上版,雖然程式碼變短、易懂,但沒網路時,很不方便
google線上轉圖簡易範例,迴圈要改成function可參考這篇
https://www.mobile01.com/topicdetail.php?f=511&t=5019053
有想過把以前寫的純vba版,po上來,可是想到這裡不是程式論譠
po 上來,也只有被拿去,複製=>貼上=>執行

所以就google看看是否有用library的範例,因為利用library的話,程式會很好寫
結果發現qrcode library 免費的、付費的,都有很多種
獨立程式一大堆,c++、java、vb.net... 等等範例也一大堆
不知道是不是我搜尋方式不對,就是找不到for excel vba library的範例
所以就寫一個簡單的範例給大家參考
如果圖形大小、編碼、容錯率、位置…都不管,只要2行程式碼就可以產生1個圖形

只要多幾行,就可以定義大小、編碼、顏色……等等,再加上迴圈就可以大量產生
最麻煩的是那些變數,因為沒得參考,花了我一些時間測試


程式說明
這個Qrcodelib.dll 是 Gnu license library(開源程式),總共有12個變數
一、名稱 FullQrCode ,是固定的不能改,大小寫要一樣
二、變數說明(以下變數排列順序跟程式碼內相同)
1 autoConfig 自動調整qrcode version
2 autofit 自動調整
3 backcolor 背景色
4 forecolor 前景色
5 qtext 要轉的文字
6 level 容錯率 0=7% 1=15% 2=25% 3=30%
7 encoding 選擇文字類型,要用的編碼
=>0 大小寫英文、符號、數字
=>1 轉成 8-bit
=>2 只有數字
=>3 kanji 好像是日文之類的,編碼在8140-9ffc e040-ebbf
=>4 自動選擇 (如果轉中文出錯,請改使用 1)
8 pixels 邊界,像素為單位
9 moduleWidth qrcode 點的大小,像素為單位
10 height qrcode高度
11 width qrcode寬度
12 finename 存檔路徑+檔名
'===呼叫 qrcodelib.dll 函式庫,快速產生 Qrcode============================
'===範例文字放在 a1~a5,產生的圖形會放在 b1~b5==========================
Private Declare Sub FullQRCode Lib "qrcodelib.dll" _
(ByVal autoConfig As Boolean, _
ByVal AutoFit As Boolean, _
ByVal backColor As Long, _
ByVal foreColor As Long, _
ByVal qtext As String, _
ByVal Level As Integer, _
ByVal encoding As Integer, _
ByVal pixels As Integer, _
ByVal moduleWidth As Integer, _
ByVal Height As Integer, _
ByVal Width As Integer, _
ByVal FileName As String)
Sub test()
For i = 1 To 5
FullQRCode True, False, vbWhite, vbBlack, Cells(i, 1), 0, 4, 2, 3, 100, 100, "c:\temp.bmp"
Set q = ActiveSheet.Shapes.AddPicture("c:\temp.bmp")
'Set q = ActiveSheet.Pictures.Insert("c:\temp.bmp")
q.Left = Cells(i, 2).Left
q.Top = Cells(i, 2).Top
q.Height = 100
q.Width = 100
Next
End Sub
'====================================================================
只有 Private Declare Sub 那一串是固定不變的
產生圖形只需1行,插入excel ,也只用1行,2行調整位置
夠簡單吧,就算只會寫for next迴圈的新手,也看的懂
剩下的,請自行變化、改寫,有興趣的拿去用吧
(注意,下載後,請把qrcodelib.dll放到c:\windows(預設) ,不行就改放到 c:\windows\system32)
(想自訂位置,請修改第一行的 "qrcodelib.dll" =>例如 "c:\abc\qrcodelib.dll")
附加壓縮檔: 201701/mobile01-a6b8ccd3d6e9e68c06e0379cf98f0b0b.zip