|
楼主 |
发表于 2019-11-6 15:59
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 HHP628 于 2019-11-6 16:02 编辑
Private Declare Function InitComm Lib "Sdtapi.dll" (ByVal iPort As Integer) As Integer
Private Declare Function CloseComm Lib "Sdtapi.dll" () As Integer
Private Declare Function Authenticate Lib "Sdtapi.dll" () As Integer
Private Declare Function ReadBaseInfos Lib "Sdtapi.dll" (ByVal iname As String, ByVal isex As String, ByVal folk As String, ByVal birthday As String, ByVal code As String, ByVal addr As String, ByVal agency As String, ByVal startdate As String, ByVal enddate As String) As Integer
Sub 启动_Click()
'On Error Resume Next
Dim n, ret, nLen
Dim iname As String * 30
Dim isex As String * 3
Dim folk As String * 10
Dim code As String * 19
Dim addr As String * 71
Dim birthday As String * 9
Dim startdate As String * 9
Dim enddate As String * 9
Dim agency As String * 31
Dim Msg As String * 300
Dim Msg1 As String * 256
Dim IINSNDN As String * 64
Dim SAMID As String * 36
Dim LenT As Integer
ret = InitComm("1001")
If Err Then
Err.Clear
MsgBox "端口错误", vbOKOnly, "提示"
Exit Sub
End If
ret = Authenticate()
If (ret) Then '
'MsgBox "找到卡,正在读卡..."
'ret = MsgBox("找到卡,正在读卡...", vbOKOnly + vbInformation, "提示")
ret = ReadBaseInfos(iname, isex, folk, birthday, code, addr, agency, startdate, enddate)
If (ret) Then
' MsgBox "读卡成功!"
'姓名
Range("B5") = Trim(iname)
'性别
Range("G5") = Trim(isex)
'民族
Range("aa5") = Trim(folk)
'出生年
Range("aa6") = Left(Trim(birthday), 4) + "年" + Mid(Trim(birthday), 5, 2) + "月" + Mid(Trim(birthday), 7, 2) + "日"
Range("aa7") = Trim(birthday)
'住址
Range("B10") = Trim(addr)
'公民身份号码
Range("B6") = Trim(code)
'签发机关
Range("aa10") = Trim(agency)
'有效期限
Range("aa11") = Trim(enddate)
If Trim(enddate) = "长期" Then
Range("aa12") = Left(Trim(startdate), 4) + "." + Mid(Trim(startdate), 5, 2) + "." + Mid(Trim(startdate), 7, 2) + "---长期"
Else
Range("aa12") = Left(Trim(startdate), 4) + "." + Mid(Trim(startdate), 5, 2) + "." + Mid(Trim(startdate), 7, 2) + "---" + Left(Trim(enddate), 4) + "." + Mid(Trim(enddate), 5, 2) + "." + Mid(Trim(enddate), 7, 2)
Range("aa13") = Left(Trim(startdate), 4) + "." + Mid(Trim(startdate), 5, 2) + "." + Mid(Trim(startdate), 7, 2)
End If
'显示照片
'Pic.Picture = LoadPicture(App.Path + "\photo.bmp")
Else
MsgBox "读卡不成功!请重新开始读卡。"
End If
Else
MsgBox "未找到卡!请将卡远离后再置于机具上。"
End If
ret = CloseComm()
End Sub
目前这段代码运行时在红色的地方报错,求帮助解决!
|
|