ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 34756|回复: 48

[原创] excel vba如何实现在已打开网页录入数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-3-23 15:30 | 显示全部楼层 |阅读模式
登录办公系统后,要求录入学生的一些信息。如果一个一个地录入,工作量比较大。请高手帮忙写一个VBA,实现快速录入。

excel vba如何实现在已打开网页录入数据.rar

23.71 KB, 下载次数: 1325

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-3-23 15:40 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-23 15:46 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-3-23 17:04 | 显示全部楼层
做了个演示 石壕小学家庭贫困学生资助数据库.zip (30.33 KB, 下载次数: 910)

1、先把Excel文件和网页打开,窗口顺序设为前后(用Alt+Tab切换一次可以激活)。
2、然后选中单元格“B4”周志红。
3、把网页上的焦点位于“姓名”框中。
4、返回Excel文件,单击Button 1按钮。

可以看到“周志红”被复制,“性别”也改变了。后面的内容,自己添加一下。

提示:添加一条数据后,可以用几次的Shift+Tab返回姓名框。
Sendkeys的用法查看Excel帮助。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-3-24 08:49 | 显示全部楼层
老兄,非常感谢你的帮助。但还有一个请求,就是把它写完整,我没有时间去研究了,马上就要完成任务,帮帮我好吗?

TA的精华主题

TA的得分主题

发表于 2009-3-24 10:48 | 显示全部楼层
原帖由 wanlongwyp 于 2009-3-24 08:49 发表
老兄,非常感谢你的帮助。但还有一个请求,就是把它写完整,我没有时间去研究了,马上就要完成任务,帮帮我好吗?


试了一下,好像按键发送多了不太稳定,有时候可以,有时候又不行。不知道怎么回事。建议你这次先逐条输入或者联系负责人看能不能批量导入,以后再研究或者找其他替代软件。

TA的精华主题

TA的得分主题

发表于 2009-6-28 18:25 | 显示全部楼层
原帖由 zhyzhsh 于 2009-3-24 10:48 发表


试了一下,好像按键发送多了不太稳定,有时候可以,有时候又不行。不知道怎么回事。建议你这次先逐条输入或者联系负责人看能不能批量导入,以后再研究或者找其他替代软件。



使用 Internet Transfer 控件(工具>>附加控件:Microsoft Internet Transfer Control)可能比代码“键盘操作”好佷多

http://club.excelhome.net/viewthread.php?tid=3367

TA的精华主题

TA的得分主题

发表于 2009-6-28 18:33 | 显示全部楼层
Sendkey是不太稳定,不知道你会不会用FindWindow和SetText,
我提供个思路给你,既然是在网页上填写数据,那么提交表单时链接应该是http://............asp?name="张三"&成绩="100"这样的,
用vba逐条读取数据然后构成网址,调用ie打开如何,可能会打开很多IE窗口

TA的精华主题

TA的得分主题

发表于 2009-6-28 19:47 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-6-28 23:28 | 显示全部楼层
这个还是比较简单的:


  1. '引用:
  2. 'Library SHDocVw
  3. '    C:\WINDOWS\system32\SHDOCVW.dll
  4. '    Microsoft Internet Controls
  5. Sub Inputall()
  6.     Dim mShellwindows As New ShellWindows, IE As InternetExplorer, arr, i As Long, j As Long, title
  7.     arr = Sheet1.UsedRange
  8.     title = Split("  xm xb nj bj jtdz hj lb pklx zxf")
  9.     For Each IE In mShellwindows
  10.         If IE.LocationName Like "*pk_xslr.htm*" Then Exit For
  11.     Next
  12.     With IE.Document
  13.         For i = 2 To UBound(arr)
  14.             For j = 2 To 10
  15.                 .all(title(j)).Value = arr(i, j)
  16.             Next
  17.             .all("b1").Click
  18.             Do While IE.Busy
  19.                 DoEvents
  20.             Loop
  21.         Next

  22.     End With

  23. End Sub
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 09:30 , Processed in 0.048917 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表