马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?请使用中文注册
×
前面我们学习了如何利用剪切板、延时、模拟按键将Excel中的内容发送到微信,今天我们来学习如何将单元格区域作为一个图片发送给微信,或者是将文件夹的图片发送给微信,话不多说,下面我们直接来看看代码解决方案。
一、将单元格区域作为图片发送到微信有如图所示成绩表,现在需要将它自动发送到微信 Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Sub 自动发微信2() Name = "文件传输助手"' Msg = "这是一条自动发送的微信" Set ws = CreateObject("wscript.shell") ws.SendKeys "^%w" Sleep 500 ws.Run "mshta vbscript:ClipboardData.SetData(" & Chr(34) & "text" & Chr(34) & "," & Chr(34) & Name & Chr(34) & ")(close)", 0, True Sleep 500 ws.SendKeys "^f" Sleep 500 ws.SendKeys "^v" Sleep 500 ws.SendKeys "{ENTER}" Sleep 500 Range("A1").CurrentRegion.CopyPicture Appearance:=xlScreen, Format:=xlBitmap' ws.Run "mshta vbscript:ClipboardData.SetData(" & Chr(34) & "text" & Chr(34) & "," & Chr(34) & Msg & Chr(34) & ")(close)", 0, True Sleep 500 ws.SendKeys "^v" Sleep 300 ws.SendKeys "{ENTER}" Set ws = NothingEnd Sub其实对于工作表区域,我们只需要利用单元格对象的CopyPicture就可以将单元格区域复制为图片。所以相对于之前的文本发送到微信,只需更改第16行代码。这里就不多解释代码含义了,不懂的可以参考前两篇
使用VBA自动发微信
VBA自动发微信2
效果如下:
二、将文件夹图片发送到微信如下图所示,我要将以下图片发送到微信
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Sub 自动发微信3()Dim shp As Shape, PicPath As String PicPath = "C:\Users\jares\Pictures\联想截图\联想截图_20230328205736.png" Name = "文件传输助手" Set ws = CreateObject("wscript.shell") ws.SendKeys "^%w" Sleep 500 ws.Run "mshta vbscript:ClipboardData.SetData(" & Chr(34) & "text" & Chr(34) & "," & Chr(34) & Name & Chr(34) & ")(close)", 0, True Sleep 500 ws.SendKeys "^f" Sleep 500 ws.SendKeys "^v" Sleep 500 ws.SendKeys "{ENTER}" Sleep 500 Set shp = ActiveSheet.Shapes.AddPicture(PicPath, False, True, 1, 1, 400, 300) Sleep 500 shp.Copy' Range("A1").CurrentRegion.CopyPicture Appearance:=xlScreen, Format:=xlBitmap Sleep 500 ws.SendKeys "^v" Sleep 300 ws.SendKeys "{ENTER}" shp.Delete Set ws = NothingEnd Sub第4行:指定图片路径第17行:将图片插入Excel,注意根据图片大小调整Sleep时间,否则可能发不过去第19行:复制图片第25行:将刚插入的图片删除
其余都和前面的一样的,这里就不多说了,下面来看看效果吧
好了,本期教程就到这里啦,走过路过的点个关注分享一下吧, |