Tạo QR Code bằng VBA

tuhocvba

Administrator
Thành viên BQT
Chủ đề này đã nhắc tới nhiều, nhưng thông thường các cách yêu cầu phải kết nối mạng, thông qua web trung gian hoặc hàm API.
Việc phải kết nối mạng khiến cho chương trình thiếu linh hoạt.
Mình thấy cách này có vẻ ổn, mọi người kiểm tra trên máy tính mọi người chạy có được không nhé.
Mã:
Sub createQRCode()

    Dim ws As Worksheet
    Dim xObjOLE As OLEObject
    Dim topPosition As Double
    Dim leftPosition As Double
    
    'Chi dinh sheet ghi ket qua QR code len do
    Set ws = Worksheets("Sheet1")
    
    'Tao「OLEObject Object
    Set xObjOLE = ws.OLEObjects.Add("BARCODE.BarCodeCtrl.1")

    'Thiet dinh gia tri cho 「OLEObject Object
    With xObjOLE.Object
        'QR Code(=11)
        .Style = 11
        'Noi dung QR Code
        .Value = "https://tuhocvba.net/"
    End With
    
    'Thiet dinh vi tri cho QR Code hien thi tren sheet, vi du dat no o vi tri o B2
    'Ta se lay thong tin vi tri o B2
    With ws.Range("B2")
        topPosition = .Top
        leftPosition = .Left
    End With
    
    'Thiet dinh kich thuoc va vi tri cho QR Code
    With xObjOLE
        'Chieu cao va chieu rong
        .Height = 84.75
        .Width = 127.5
        'Vi tri
        .Top = topPosition
        .Left = leftPosition
        'Name
        .Name = "QR Code1"
    End With
    
    'Lam sach bo nho
    Set xObjOLE = Nothing

End Sub
Kết quả :
Bạn cần đăng nhập để thấy đính kèm

Nguồn :
Mã:
https://excel-vba.work/2021/04/19/%E3%80%90vba%E3%80%91qr%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B/
 

qthinhweb

Yêu THVBA
Máy mình không chạy được. (Office 365)
Bạn cần đăng nhập để thấy hình ảnh
 

vbano1

SMod
Thành viên BQT
Win 10 64bit, Office 365 32bit. Thành công.
Sau khi chạy code xong, thấy Reference được tự động tích chọn vào : Microsoft Acess BarCode Control 14.0
Kiểm tra đường dẫn C:\Program Files (x86)\Microsoft Office\root\Office16\MSBCODE9.OCX thấy file có tồn tại.
 

Euler

Administrator
Thành viên BQT
Thường để tạo QR Code thì người ta sử dụng 3 cách sau:
Kết nối mạng/Google Chart API
Sử dụng DLL
Dùng Microsoft Barcode Control (Với excel 2016 trở đi), khá kén máy tính, win lậu hay office lậu thường đứt

Cách 1, yêu cầu kết nối mạng nên nhiều người không thích.
Cách 2 sử dụng DLL, nếu bác nào có DLL của C++ thì giới thiệu nhé. Vì DLL dạng này không phải đăng ký.
Cách 3 : Cần phân phối file OCX này tới các máy tính bị thiếu và hướng dẫn họ copy vào thư mục nào đó.

Cuối cùng, cách độc nhất vô nhị là sử dụng Excel để vẽ ra chính QR Code. Euler vừa chạy thử và cho kết quả đáng kinh ngạc. Cần việt hóa code, Euler sẽ gửi cho các bạn sau.
 
Top