なかなか思い通りのものがなかったので作ってみた。
スポンサードリンク
ライセンスはGPLです。間違いなどありましたら教えてください。ちゃちゃっと作ったものなので、美しくないですが。
'【著 作】 ' (C) CASEY.JP 2008 '【機 能】 ' JANCODEのチェックデジットを計算する '【信頼性】 ' 123456 -> 5 ' 1234567 -> 0 ' 123456789012 -> 8 '【参 考】 ' http://casey.jp ' http://www.dsri.jp/jan/check_digit.htm '【履 歴】 ' Ver.0.00 2008.09.18 First Ver.
Function JANCD(sCode As String) As String
Dim Tmp1, Tmp2, Count As Integer Dim sTemp As String
Tmp1 = 0 Tmp2 = 0
If Len(sCode) Mod 2 <> 0 Then sCode = CStr("0") + sCode
sTemp = sCode
For Count = 1 To Len(sCode) / 2 Tmp1 = Tmp1 + Int(Mid(sTemp, Count * 2 - 1, 1)) Tmp2 = Tmp2 + Int(Mid(sTemp, Count * 2, 1)) Next Count
Tmp1 = 10 - (Tmp2 * 3 + Tmp1) Mod 10 If Tmp1 = 10 Then Tmp1 = 0
If Left(sTemp, 1) = 0 Then JANCD = Mid(sTemp, 2, Len(sTemp)) + CStr(Tmp1) Else JANCD = sTemp + CStr(Tmp1) End If
End Function
oldId.20080918035923161