任务内容:每个月都要将上个月的异常记录,录入到公司的网站上。异常记录已经由公司的美女录入到Excel表中了,每个月多的时候上千条记录,少的时候也有三四百条记录。由于开发的网站不够智能,只能再一条条地把记录搬运到网站上。复制。。。黏贴。。。复制。。。黏贴。。。复制。。。黏贴。。
任务内容:
每个月都要将上个月的异常记录,录入到公司的网站上。异常记录已经由公司的美女录入到Excel表中了,每个月多的时候上千条记录,少的时候也有三四百条记录。由于开发的网站不够智能,只能再一条条地把记录搬运到网站上。复制。。。黏贴。。。复制。。。黏贴。。。复制。。。黏贴。。。复制。。。黏贴。。。[吐血]

抓狂中…
解决方案:
通过VBA的 sendkeys来代替我们手动的复制黏贴。
SendKeys 语句说明:向活动窗口发送一个或多个键击,就像按键盘上的按键一样。
因此使用sendKeys来代替我们手动按键盘,刚好可以用来解决我们的需求。
sendKeys对应按键代码
键 |
代码 |
Backspace |
{BACKSPACE} 或 {BS} |
Break |
{BREAK} |
Caps Lock |
{CAPSLOCK} |
清除 |
{CLEAR} |
Delete 或 Del |
{DELETE} 或 {DEL} |
向下键 |
{DOWN} |
结束 |
{END} |
ENTER(数字小键盘) |
{Enter} |
Enter |
~(波形符) |
Esc |
{ESCAPE} 或 {ESC} |
帮助 |
{HELP} |
主页 |
{HOME} |
Ins |
{INSERT} |
向左键 |
{LEFT} |
Num Lock |
{NUMLOCK} |
PageDown |
{PGDN} |
PageUp |
{PGUP} |
Return |
{RETURN} |
向右键 |
{RIGHT} |
Scroll Lock |
{SCROLLLOCK} |
Tab |
{TAB} |
向上键 |
{UP} |
F1 到 F15 |
{F1} 到 {F15} |
键 |
代码 |
Shift |
+ |
Ctrl |
^ |
Alt |
% |
1.获取sendkeys对象
Set ws = CreateObject("wscript.shell")
2.将要黏贴的内容复制到剪贴板
msg = zuSheet.Cells(i, 13)'要复制的内容
ws.Run "mshta vbscript:ClipboardData.SetData(" & Chr(34) &
"text" & Chr(34) & "," & Chr(34) & msg & Chr(34) & ")(close)", 0, True
3.黏贴内容
'模拟键盘录入 Ctrl+V
ws.SendKeys "^v"
4.循环复制黏贴键入
time = 200
'这里暂停1500毫秒是为了预留时间,将网页手动切换的前台来
Sleep 1500
For i = 3 To zuSheet.Cells(Rows.count, 1).End(xlUp).Row
msg = zuSheet.Cells(i, 4) '要复制的内容
ws.Run "mshta vbscript:ClipboardData.SetData(" & Chr(34) & "text" & Chr(34) & "," & Chr(34) & msg & Chr(34) & ")(close)", 0, True
Sleep time
ws.SendKeys "^v"
Sleep time
ws.SendKeys "{TAB}"
......
ws.SendKeys "{TAB}"
ws.SendKeys "{TAB}"
Next
切换网页到前台问题:
这里有个不足的地方就是,无法自动将网页切换到前台
使用 ws.SendKeys "%{TAB}",无法实现
有网友说使用两个:
ws.SendKeys "%{TAB}"
ws.SendKeys "%{TAB}"
经验证也是没有反应,无法实现将网页切换到前台。
所以这里只能暂时用手动的方式,切换过去
(不知道有没哪个网友来支个招)
Sleep 问题:
Sleep 延时,这个是毫秒级别的, 使用时必须要先声明
'32位系统用这个
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'64位系统用这个
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
需要完整代码或小工具的,请在评论区留言
有任何相关问题,欢迎来评论区交流
作者介绍:专注办公自动化,让工作轻松起来
创业项目群,学习操作 18个小项目,添加 微信:niuben22 备注:小项目!
如若转载,请注明出处:https://www.028wjs.com/137758.html