'序列号取得
- Function GetMyId(ByVal rId As Long) As String
- Dim id(1 To 8) As Long
- Dim flg As String
- Dim result As String
- For i = 1 To 8
- id(i) = Mid(CStr(rId), i, 1)
- Select Case i
- Case 1
- id(i) = id(i) * 10 Mod 9
- Case 2
- id(i) = id(i) * 10 Mod 7
- Case 3
- id(i) = id(i) * id(i)
- If id(i)> 10 Then id(i) = (id(i) - 10) Mod 9
- Case 4
- If id(i)> id(i - 1) Then id(i) = id(i) - id(i - 1)
- Case 5
- id(i) = id(i) * 8 Mod 9
- Case 6
- id(i) = id(i) * 20 Mod 9
- Case 7
- If id(i)> 5 Then
- id(i) = id(i) / 2
- Else
- id(i) = id(i) + 1
- End If
- Case 8
- id(i) = Left(CStr(id(i) * 9), 1)
- End Select
- Next
- If id(3) + id(5)> 3 Then flg = "k"
- If id(3) + id(5)> 8 Then flg = "u"
- If id(3) + id(5)> 13 Then flg = "s"
- If id(3) + id(5)> 17 Then flg = "y"
- For Each s In id
- result = result & s
- Next
- 'result = Replace(Join(id," ")," ","")
- GetMyId = result & flg
- End Function
来源: http://www.bubuko.com/infodetail-2569847.html