VB中有如下控件:Text1、Command1、Label1。在F盘根目录上有一个为1.xlsx的工作表,工作表的A列为身份证号码,B列为姓名。要求当单击Command1时,如果Text1与A列的身份证号码相同则在Label1上显示编号对应的姓名。
补充:经过调试,如果A列为简单的序号时,测试成功,但为身份证号码时则不行。我的代码如下,请看看错在哪里。
Private Sub Command1_Click()
Dim xlsApp As Excel.Application '声明对象变量
Set xlsApp = Excel.Application '实例化对象
xlsApp.Visible = False '使Excel隐藏不可见
xlsApp.Workbooks.Open ("F:\1.xls") '打开EXCEL文件,假设文件在c盘根目录
Dim i As Long
i = 1
Do While xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 1) <> ""
If xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 1).Value = Text1.Text Then
Label1.Caption = xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 2).Value
Exit Do
End If
i = i + 1
Loop
xlsApp.ActiveWorkbook.Close savechanges:=False '关闭活动工作簿同时不保存对它的更改。
xlsApp.Quit '关闭EXCELL
Set xlsApp = Nothing '释放资源
End Sub