• 2

Code128 字體檔案Barcode槍掃不出來

求問各位大大~
使用excel搭配code128條碼,雖然能顯示出條碼形式,但實際上用Barcode槍或是手機app都掃不出來,爬了很多文,如果用巨集設定的方式最終也算有成功,但是這個方法、過程太複雜無法移植到公司的副系統,詢問了兩個公司的資訊人員,研究了快半年了大家還是無解,想問問大家是否有什麼經驗分享? 謝謝。
2024-11-26 16:21 發佈
Code 128 是有檢查碼的,你是不是缺了檢查碼?
townboyed

我都用code 39來做條碼,code 128會太長對於一些小尺寸的掃描槍會有掃不完全的問題

2024-11-27 15:18
milkojia
milkojia 樓主

更新>>測試了CODE 39 可以>但判讀比較慢,有時候沒反應,但至少有成功。

2024-11-27 15:24
milkojia
milkojia 樓主

對..是誰發明了改字體這麼好用的方法,我用了好久才發現不能掃(客人也沒有反應...>

2024-11-27 13:41
把檔案隨便一個條碼截圖+Barcode槍或是手機app的名稱丟上來
現在不都改用QRCODE? CODE39在EXCEL好像有內建的字型檔可以用,或許是你的CODE128字型檔本身有問題
,先直接在螢幕上或印出來掃掃看
把整個檔案丟上來,也行
有研究過檢查碼的問題,確實是字體檔案有問題沒錯,但網路可以找到的檔案都只有這一種,實在是內建在excel的換字體來轉code這個模式太好用又簡單,但是到目前都還找不到可以掃成功的字體檔案,覺得很可惜



milkojia wrote:
有研究過檢查碼的問題,確實是字體檔案有問題沒錯,但網路可以找到的檔案都只有這一種,實在是內建在excel的換字體來轉code這個模式太好用又簡單,但是到目前都還找不到可以掃成功的字體檔案,覺得很可惜


你誤會了

條碼有四個部份
1.起始碼 (start code)
2.資料碼 (data code)
3.結束碼 (end code)
4.檢查碼 (check code):可有可無

code39 的起始碼和結束碼就是 * 符號,你可以自己輸入在EXCEL欄位內,所以會感覺更換字型即可輸出條碼

例如: *33* 用條碼字型轉換出來的條碼刷下去會得到 33


code128 必須先用程式轉換出起始碼+結束碼,然後再整個套用 條碼字型 轉換成條碼,所以直接更換字型的條碼是無效的

樓上"無聊技術研究院"的網站有範例說明:code128條碼資料要帶出XYZ,整個條碼的結構換算後應該是 ËXYZCÎ,再把 ËXYZCÎ 用條碼字型轉換成條碼才能掃
milkojia
milkojia 樓主

你的解說簡化了好多,我有更明白這個意思,我會測試一下code39再來斟酌討論是否有機會去跟客人改(覺得難,所以原本這不在考慮範圍,但是他現在起碼是一種選項了),感謝。

2024-11-28 11:58
使用字型:無聊技術研究提供的 http://www.fonts2u.com/code-128.font

因為我手邊沒有 Excel
所以先寫 javascript 版本再請 ChatGPT 幫我翻譯成 vba
下列是翻譯後的結果
(他還幫我加註解,我給他的東西並沒有註解)

Function Code128Text(str As String) As String
Dim i As Integer
Dim ascii As Integer
Dim digit As Integer
Dim charCode As Integer

' 起始碼 B 的數值
digit = 104

' 檢查字串中的每個字元
For i = 1 To Len(str)
charCode = Asc(Mid(str, i, 1))

' 判斷是否超出有效 ASCII 範圍
If charCode < 32 Or charCode > 126 Then
Code128Text = "轉換失敗"
Exit Function
End If

' 計算校驗碼
digit = (digit + (charCode - 32) * i) Mod 103
Next i

' 轉換校驗碼到 Code128 的字元範圍
If digit < 95 Then
digit = digit + 32
Else
digit = digit + 100
End If

' 組合最終結果
Code128Text = "Ì" & str & Chr(digit) & "Î"
End Function


使用方式大概是這樣
應該掃得出來
(下圖是 LibreOffice Calc 的畫面)
ren1244

我是用 128B 那組編碼,所以表中 128B 所列字元的應該都可以處理: https://zh.wikipedia.org/zh-tw/Code128

2024-11-28 14:16
milkojia
milkojia 樓主

好,感謝你。 我再努力努力~

2024-11-28 16:41
code 39 格式
就是起始:*,結束:*
這個應該換格式就可以用 加*號而已 excel 應該辦得到

milkojia
milkojia 樓主

對對,code39相對簡單很多,只是通常都是客戶指定用code 128,所以比較沒有往這方向去溝通,但如果最後解決不了,也可能考慮..

2024-11-28 11:59
milkojia
milkojia 樓主

我測試了code39前後+*,可以>但判讀比較慢,有時候沒反應,但至少有成功。

2024-11-28 17:06
以下是CODE 39測試可以>但判讀比較慢,有時候沒反應,有時候資料錯誤,但至少也有成功的。
chicane123

兩欄中間的框影響到判讀,條碼兩側都有安全距離限制

2024-11-29 8:49
你要先比對是A、B、C哪一種,不然字型檔也會選擇困難,萬一再要求換個沒有的,不就GG了?

如果筆數多,那去找字型檔,如果沒幾筆或沒字型的,使用線上條碼產生器,直接把條碼抓成圖形放進來就行了。



milkojia wrote:
以下是CODE 39...(恕刪)
掃描慢甚至掃不出來,是因為條碼的粗細比例不對,你要自行調整。
milkojia
milkojia 樓主

用barcode檔型和外部網站就是都只能一個一個改,無法用套印來處理

2024-12-01 11:06
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?