excel vba 获取当前日期(EXCELVBA)

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

表格式样:

excel vba 获取当前日期(EXCELVBA)(1)

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 = Nothing End 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

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

excel vba 获取当前日期(EXCELVBA)(2)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页