EAN13條碼核檢驗證函數,歡迎指教!(編號:869)

前二日有人討論條碼檢核程式,本人發現其命題方式,稍為複雜,茲將較為精簡程式臚列如下,歡迎指正!
'=========================================================================================
' 目  的:   EAN_13條碼檢查程式
' 假  設:
' 效  果:
' 輸 入 值:   ByVal strBarcode As String
' 傳 回 值:   blnBarcodeCheck As Boolean
' 參考資料:   李媛媛、余文俊編著《條碼解碼器的設計》第10章EAN_13碼解碼程式
'
' 日  期   By   COMMENT
' ----------  ----  -------
' 2000/01/13  Chris Juang 來自: 210.68.97.130
' 2000/01/18  SY   改寫
'=========================================================================================
Public Function blnBarcodeEAN13(ByVal strBarcode As String) As Boolean
Dim intX As Integer                 ' 計數變數
  Dim intY As Integer                 ' 計數變數
  Dim intEvenSum As Integer              ' 偶數(Even Number)和變數
  Dim intOddSum As Integer              ' 奇數(Odd Numbe)和變數
  Dim intSum As Integer                ' 合計變數
    
  For intX = 1 To 12
    intY = CInt(Mid(strBarcode, intX, 1))
    If intX Mod 2 <> 0 Then
      intOddSum = intOddSum + intY
    Else
      intEvenSum = intEvenSum + intY
    End If
  Next intX
  
  ' 偶數和乘三之積
  intEvenSum = intEvenSum * 3
  
  ' 奇數和 + 偶數和乘三之積 + 檢核碼
  intSum = intOddSum + intEvenSum + CInt(Mid(strBarcode, 13, 1))
  
  ' 驗證是否為10的倍數
  ' 正確者傳回 TURE之值
  ' 不正確者傳回 FALSE之值
  If (intSum Mod 10) = 0 Then
    blnBarcodeEAN13 = True
    Exit Function
  Else
    MsgBox "條碼數字有誤,請查明後再行輸入。"
    blnBarcodeEAN13 = False
    Exit Function
  End If
End Function
'呼叫範例:
'
'Private Sub txt_LostFocus()
'  If blnBarcodeEAN13 = False Then
'    txt.SetFocus
'  End If
'End Sub