EXCEL快速录入问题

弑天屠龙 2014-03-25 04:42:16
比如说我有一EXCEL文档,里面有10万组数据,要针对某一网页将这些数据利用宏将这些数据输入进去,就好像注册页面一样,只要我在excel界面弹出的对话框中点击开始,这10万组数据就会通过网页不停的注册,直至excel中数据录完。然后在excel新的一列显示哪行数据已录入,哪些行录入失败。成功的那行加上黄色标注。
...全文
104 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
青松2 2014-03-27
  • 打赏
  • 举报
回复
VBA-填写网页表单的方法 2011-08-04 12:47:32| 分类: Excel自动化 | 标签: |举报 |字号大 中 小 订阅 本次介绍的方法是http://chiensq.blog.163.com/blog/static/1035628201174015765/?newFollowBlog中介绍的第二种方法控制网页 要填写网页表单,就要知道网页中各个要填写的项目名称,就需要分析网页。分析网页有好几种方法: 以:http://mial.163.com/为例 1、直接查看网页的源代码(网页右键有该功能) 在源代码中直接搜索如“用户名”,“密码”等需要填写的项目的文字。找到类似以下的代码 <LABEL class="lb for for-1">用户名</LABEL> <LABEL class="lb for for-2 for-3">手机号</LABEL> <INPUT class=ipt-t id=idInput onblur="fCheckAccount(this);fEvent('blur',this)" onmouseover="fEvent('mouseover',this)" onfocus="fEvent('focus',this)" tabIndex=1 onmouseout="fEvent('mouseout',this)" maxLength=50 name=username autocomplete="off" isfocus="false"> <SPAN class=domain>@163.com</SPAN> 将该代码分段 <LABEL class="lb for for-1">用户名</LABEL> --是显示“用户名”的文字的表格,并不是输入项目 <LABEL class="lb for for-2 for-3">手机号</LABEL> --是显示“用户名”的文字的表格,并不是输入项目 而已INPUT开始的就是需要输入的项目,发现有name=username的代码,意思是用户名就是username,这就是我们要找的。 一般都是找 ID= 或者 name = 。 <INPUT class=ipt-t id=idInput onblur="fCheckAccount(this);fEvent('blur',this)" onmouseover="fEvent('mouseover',this)" onfocus="fEvent('focus',this)" tabIndex=1 onmouseout="fEvent('mouseout',this)" maxLength=50 name=username autocomplete="off" isfocus="false"> 2、但是项目多的话,这样找比较麻烦,也可以用VBA代码直接找 引用老狼的代码:http://blog.csdn.net/northwolves/article/details/1809109 Sub show163tags() Dim i As Byte With CreateObject("InternetExplorer.Application") .Visible = True .navigate "http://mail.163.com" Do Until .Readystate = 4 DoEvents Loop On Error Resume Next For i = 1 To 100 If Len(.Document.Forms(0).All(i).Name) > 0 Then Debug.Print "i=" & i; " name=" & .Document.Forms(0).All(i).Name Next End With MsgBox "ok" End Sub 3、但是有的项目是没有ID和Name的,就比如163邮箱这个button即没ID又没name。 这个时候可以用到索引号,手工找就不介绍了,直接推荐用Ldy的分析工具 http://club.excelhome.net/thread-377077-1-1.html 参考文章 http://club.excelhome.net/thread-719242-1-1.html
X-i-n 2014-03-27
  • 打赏
  • 举报
回复
依次点excel选项->自定义功能区,右边找到“开发工具”,勾上。确定。 回到excel,开发工具选项卡下边,“插入”按钮,在ACTIVEX控件里,找到“按钮”控件,添加到excel。 同样在activex 控件区域,有一个“其它控件”按钮,点击它打开其它控件添加窗口。 找到“microsoft web browser",添加,修改控件的名字叫 wb。 双击已经添加的按钮,你就可以雄起了骚年。 注册行为一共需要两类操作,填写和提交。 首先是要找到你需要操作的对象,比如,一个文本框,或者一个按钮 这个只要用 wb.document.getelementbyid("id名称")就能获取到你要操作的对象 填写也简单,看示例就能明白
    wb.Document.getelementbyid("kw1").Value = "abc"
提交最简单的一种是找到提交按钮,然后直接click,就像下面这样
wb.Document.getelementbyid("lb").Click
或者找到表单的id,用
sheet1.wb.Document.getelementbyid("formID").submit
要是不管用,可以研究一下网页代码,看看按钮在click(mousedown,诸如此类)时调用了什么过程 参考一下这句理解一下
wb.Navigate2 ("javascript:alert('abc');")
这里面最麻烦的是网站的反机器人,主要是验证码和主动阻止,你可以考虑自动填写,然后手工填写验证码。这个实在不擅长。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧