龙空技术网

EXCEL VBA"调用"微信发送信息

简单学学EXCEL 2559

前言:

当前姐妹们对“vbs 键盘输入”大约比较注意,各位老铁们都想要知道一些“vbs 键盘输入”的相关内容。那么小编也在网摘上网罗了一些有关“vbs 键盘输入””的相关文章,希望看官们能喜欢,小伙伴们一起来学习一下吧!

VBA并不能真的调用微信程序,用的是VBS脚本模拟按键操作方式。

表格式样:

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)----------------------------'上面一句,是为下面Sleep 延时语句用的Sub 发微信()    Set ws = CreateObject("wscript.shell")    ws.SendKeys "^%w"For i = 2 To 10    ws.Run "mshta vbscript:ClipboardData.SetData(""Text""," & Chr(34) & Cells(i, 1) & Chr(34) & ")(close)", 0, True    Sleep 200    ws.SendKeys "^f"    Sleep 1000    ws.SendKeys "^v"    Sleep 1000    ws.SendKeys "{ENTER}"    Sleep 600    ws.Run "mshta vbscript:ClipboardData.SetData(" & Chr(34) & "Text" & Chr(34) & "," & Chr(34) & Cells(i, 2) & Chr(34) & ")(close)", 0, True    Sleep 500    ws.SendKeys "^v"    Sleep 500    ws.SendKeys "{ENTER}"Next i    Set ws = NothingEnd Sub

语句释义:ws.SendKeys "^%w" 是模拟进行键盘上的按键输入,^代表CTRL键,%代表ALT键,w代表W键;让在一起就是Ctrl+Alt+W,这是微信的默认快捷键。如果你改动过,就要改为对应的。附:+代表Shift键。 "^% "代表CTRL键+ALT键+空格(我的微信快捷键)

ws.Run "mshta vbscript:ClipboardData.SetData(""Text""," & Chr(34) & Cells(i, 1) & Chr(34) & ")(close)", 0, True 此句将Cells(i, 2)的文本内容发送到剪贴板。图片是不能识别的。我们在Cells(i,1)中存入微信昵称。SetData(""Text""与SetData(" & Chr(34) & "Text" & Chr(34) & "是等同的,Chr(34)就是双引号。""Text""是SetData的参数,但是这个参数无"shape",所以不能处理图片信息。

ws.SendKeys "^f" 发送Ctrl+F,微信里自带的查找人的快捷键。Sleep 延时函数,用过“按键精灵”的同学会感觉很熟悉。1000为1秒钟。这个时间需要自己把握,取决于你电脑上微信运行的流畅度。ws.SendKeys "^v" ,将Cells(i,1)中的微信昵称,输出到查找窗口。

ws.SendKeys "{ENTER}" 按下回车键,光标会跳转到微信的信息输入窗口。此时,再将Cells(i,2)中的信息发送到剪贴板,然后复制到微信的信息输入窗口,按下回车就完成了一个发送信息的操作。由于ClipboardData.SetData只能处理文本,所以Cells(i,2)只能是一个单元格,不能改成Range(B2:D2)这种区域。

当然 i 的最大值可以改为动态的:如Cells(Rows.Count, 1).End(xlUp).Row

还可设置判断语句,用以跳过某些空的信息。对微信昵称重复的,要自己改备注分开,程序可不能识别分开。

标签: #vbs 键盘输入 #vba用键盘按键