提取身份证号码的特定信息.pdfVIP

  • 33
  • 0
  • 约4.1千字
  • 约 5页
  • 2015-09-26 发布于重庆
  • 举报
提取身份证号码的特定信息

提取身份证号码的特定信息 许多用户径常使用Excel 函数来提取身份证号码的相关信息,其实利用Word 的Application 事件也能完成这样的工作,如图287-1 所示。 图287-1 输入身份证号码后自动提取相关信息的表格 中国公民的身份证号码是一种特征组合码,早期的为15 位,现在的为18 位。 15 位号码的规律:从第7 位至第8 位是出生的年份,第9 位至第 10 位是出生的月份,第 11 位至第 12 位是出生的日子,最后3 位是顺序码,其中顺序码的最后一位是判断性别的根本, 最后一位是奇数是男性,偶数则是女性。 18 位号码的规律:从第7 位至第 10 位是出生的年份,第 11 位至第 12 位是出生的月份, 第13 位至第 14 位是出生的日子,第 15 至17 位是顺序码,最后 1 位是校验码。其中顺序码的 最后一位是判断性别的根本,即号码的倒数第二位是奇数则是男性,偶数则是女性。 下面利用这个规律,结合Application 事件来演示此过程。 步骤一 按如图287-1 所示的样式制作3 个表格,并在相应的位置分别填入“姓名:”、“身 份证号码:”、“性别:”、“出生年月:”。 1 / 5 步骤二 按Alt+F11组合键打开【Visual Basic 编辑器】窗口,依次单击菜单【插入】→ 【类模块】,在【属性】窗口中修改类模块的名称为“clsIDCard ”,如图287-2 所示。 图287-2 插入一个类模块,并修改其名称 步骤三 在类模块“cls DCard ”的代码窗口中输入如下代码。 Public WithEvents App As Word.Application 声明一个包含事件的 Application 类型对象 Private Sub App_WindowSelectionChange(ByVal Sel As Selection) On Error Resume Next Dim idString As String, idLen As Integer Dim sYear As String, sMonth As String Dim sYearAndMonth As String Dim sLadyOrGentleman As String Dim isSex As String Dim isSexChar As Integer With Selection.Tables(1) idString = .Range.Cells(5).Range.Text idLen = Len(idString) 如果是15 位的身份证 If idLen = 17 Then 2 / 5 确定年月 sYear = Mid(idString, 7, 2) sMonth = Mid(idString, 9, 2) sYearAndMonth = 19 sYear 年 sMonth 月 .Range.Cells(9).Range.Text = sYearAndMonth 确定性别 isSexChar = Mid(idString, idLen - 2, 1) If isSexChar Mod 2 = 0 Then isSex = 女 sLadyOrGentleman = 小姐 Else isSex = 男 sLadyOrGentleman = 先生 End If .Range.Cells(7).Range.Text = isSex .

文档评论(0)

1亿VIP精品文档

相关文档