|
楼主 |
发表于 2013-2-27 16:43
|
显示全部楼层
kangatang 发表于 2013-2-26 17:54
拿去用吧,人工识别。希望有人能帮你弄个自动识别。
kangatang 老师:
您太神了!{:soso_e179:}
有这效果,俺满意了!
这是俺在ExcelHome论坛以来,得到的最让我欣喜若狂的帮助!
我试用了,完全正确!
(一)您还考虑得非常细致,例如:
1、如果验证码错误,可无限次的重输,并提示"验证码错误请重新输入";
2、如果没找到某考生,用Cells(i, 4).Value = Split(Split(rawdata, "_GB2312'""" & ">")(1), "</font>")(0)这句,显示错误信息(也是网页里提取的);
3、如果姓名列没姓名,用If Cells(i, 3) = "" Then Cells(i, 3) = std_name这句,在姓名列里显示姓名。
……等等,等等。这充分体现了一个专业程序员的自我修养!
(二)原来我所准备的如下这两项,在您的程序里根本是无所谓的:
1、“考生号、身份证号、姓名三项中至少输入两项”,在您的程序里一句就搞定,无所谓三项还是两项;
2、我以为要重绘验证码图片,原来不必,在您的程序里只需显示一下验证码图片即可。
(三)实际应用中,根据情况不同可能需要变化的两处,请教 kangatang 老师:
1、表的结构不同,比如身份证号、考生号、姓名等分布的列不同,我只需更改每一个Cells(i, 列号)里的那个列号就可以了吧?
2、我希望根据表格实际多少行,就循环多少次,我将
改成了
- For i = 2 To ActiveCell.SpecialCells(xlLastCell).Row
复制代码 用起来到是能用,但这句是不是还能简化一下?请 kangatang 老师再帮我改改。
我对您的景仰已经不能用“感谢”二字来形容!{:soso_e183:}
|
|