ISSUE / QUESTION
- Cách tạo mã vạch Code 128 trên Excel ?
- Tải Font mã vạch Code 128 ?
APPLICABLE TO
Microsoft Excel.
Code 128 Barcode Fonts.
RESOLUTION / ANSWER
Font Code 128 là gì ? Font Code 128 là một phông chữ hiện đại và phổ biến. Mức độ phổ biến ngày càng tăng do đây là phông chữ có mật độ cao và hỗ trợ cả ký tự "chữ" và "số".
Nói chung, Code 128 bao gồm 7 thành phần. Với các trường sau:
- Quiet Zone
- Start Symbol
- Encoded Data
- Check Symbol
- Stop Symbol
- Final Bar
- Quiet Zone
Font chữ Code 128 có 3 tập con, được mô tả ngắn gọn dưới đây:
- Code 128A: Hỗ trợ bảng ký tự ASCII không có ký tự thường.- Code 128B: Hỗ trợ bảng ký tự ASCII không có ký tự đặc biệt ở ví trí đầu tiên.
- Code 128C: Tập con này hỗ trợ giá trị "Số".
Để tạo mã vạch Code 128 trên Excel chúng ta cần thực hiện một số bước dưới đây ( trong bài viết này tôi trình bày 2 cách để thực hiện)
Cách 1: Sử dụng VBA.
Chuẩn bị:
- Tải 02 x files Module theo liên kết tại đây.
Thực hiện:
Bước 1: Mở file Microsoft Excel và tạo dữ liệu cần mã hóa Code 128.
Bước 2: Sử dụng tổ hợp phím Alt + F11 đồng thời để mở trình soạn thảo VBA.
-> Import 02 x files lập trình đã tải ở ở link liên kết bên trên.
-> trỏ đường dẫn tới 02 x files cần Import.
> kết quả Import
Bước 3: Gán dữ liệu vào các ô trên bảng tính Excel cần mã hóa sang Code 128
Sử dụng hàm Code128 (ô dữ liệu) để mã hóa
-> kết quả:
===================================
Cách 2: Sử dụng Fonts Code 128 & VBA.
Bước 1: Tải font Code 128
- Download font Code 128 theo link dưới đây:
https://www.suamayinmavach.com/2018/05/fonts-barcode-ma-vach.html
- Tiến hành giải nén thư mục Code_128 vào thư mục C:\Windows\Fonts.
Bước 2: Áp dụng cú pháp lập trình VBA
-> Chọn tab Developer > Visual Basic
-> Chọn Insert > Module trong cửa sổ Visual Basic
-> Gõ đoạn code dưới đây vào Module
Option Explicit
Public Function Code128(SourceString As String)
Dim Counter As Integer
Dim CheckSum As Long
Dim mini As Integer
Dim dummy As Integer
Dim UseTableB As Boolean
Dim Code128_Barcode As String
If Len(SourceString) > 0 Then
For Counter = 1 To Len(SourceString)
Select Case Asc(Mid(SourceString, Counter, 1))
Case 32 To 126, 203
Case Else
MsgBox "Invalid character in barcode string" & vbCrLf & vbCrLf
& "Please only use standard ASCII characters", vbCritical
Code128 = ""
Exit Function
End Select
Next
Code128_Barcode = ""
UseTableB = True
Counter = 1
Do While Counter <= Len(SourceString)
If UseTableB Then
mini = IIf(Counter = 1 Or Counter + 3 = Len(SourceString), 4, 6)
GoSub testnum
If mini% < 0 Then
If Counter = 1 Then
Code128_Barcode = Chr(205)
Else
Code128_Barcode = Code128_Barcode & Chr(199)
End If
UseTableB = False
Else
If Counter = 1 Then Code128_Barcode = Chr(204)
End If
End If
If Not UseTableB Then
mini% = 2
GoSub testnum
If mini% < 0 Then
dummy% = Val(Mid(SourceString, Counter, 2))
dummy% = IIf(dummy% < 95, dummy% + 32, dummy% + 100)
Code128_Barcode = Code128_Barcode & Chr(dummy%)
Counter = Counter + 2
Else
Code128_Barcode = Code128_Barcode & Chr(200)
UseTableB = True
End If
End If
If UseTableB Then
Code128_Barcode = Code128_Barcode & Mid(SourceString, Counter, 1)
Counter = Counter + 1
End If
Loop
For Counter = 1 To Len(Code128_Barcode)
dummy% = Asc(Mid(Code128_Barcode, Counter, 1))
dummy% = IIf(dummy% < 127, dummy% - 32, dummy% - 100)
If Counter = 1 Then CheckSum& = dummy%
CheckSum& = (CheckSum& + (Counter - 1) * dummy%) Mod 103
Next
CheckSum& = IIf(CheckSum& < 95, CheckSum& + 32, CheckSum& + 100)
Code128_Barcode = Code128_Barcode & Chr(CheckSum&) & Chr$(206)
End If
Code128 = Code128_Barcode
Exit Function
testnum:
mini% = mini% - 1
If Counter + mini% <= Len(SourceString) Then
Do While mini% >= 0
If Asc(Mid(SourceString, Counter + mini%, 1)) < 48 Or
Asc(Mid(SourceString, Counter + mini%, 1)) > 57 Then Exit Do
mini% = mini% - 1
Loop
End If
Return
End Function
-> Ctrl + S -> Lưu và đóng cửa sổ Visual Basic.
Bước 3: Sử dụng hàm Code 128 ở Bước 2.
-> Sử dụng hàm chức năng Code128 đã tạo ở bước 2 bên trên với VBA.
-> Theo thứ tự, chọn ô D5 và thực hiện gõ cú pháp lệnh
= Code128(C5)
-> Gõ Enter -> xuất hiện kết quả bên dưới:
Bước 4: Thay đổi Fonts và kích cỡ font mã vạch - barcode
-> Chọn Tab Home > chọn font Code 128 ở hộp chọn fonts chữ.
-> chọn Size 36
-> kết quả:
> Xem thêm:
- Tạo mã vạch Code 39 trên Microsoft Excel.
- Tạo mã vạch EAN-13 trên Microsoft Excel .
- Tạo mã vạch QR Code trên Microsoft Excel.
- Tạo mã vạch DataMatrix trên Microsoft Excel.