吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 876|回复: 6
收起左侧

[求助] vb 将文件复制到剪切板

[复制链接]
yffan19 发表于 2021-11-17 19:48
因为工作需要,找了一个自动发微信的excel宏模板,修改了下,可以实现在单元格的文本内容发给指定的微信好友,但是不知道怎么修改成文件/图片的,求助大家怎么把文件弄到剪切板,就是我粘贴的时候出来的是这个文件的效果。

或者各位大佬有没有办法通过excel的数据,将内容/文件/图片,自动发送给微信好友的工具?

在此先谢过!底下是宏的代码。


Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub sendmessages()
    n = Sheet1.Cells(Rows.Count, 1).End(xlUp).row - 2
    For i = 0 To n
        If Cells(i + 2, 1).Value <> "" Then
            Set ws2 = CreateObject("wscript.shell")
            ws2.AppActivate "微信"
            ws2.SendKeys "^%w"
            Set ws2 = Nothing
            
            Name = Cells(2 + i, 1).Value
            Msg = Cells(2 + i, 2)
            
            
            Set ws = CreateObject("wscript.shell")
            ws.Run "mshta vbscript:ClipboardData.SetData(" & Chr(34) & "text" & Chr(34) & "," & Chr(34) & Name & Chr(34) & ")(close)", 0, True
            Sleep 999
            ws.SendKeys "^f"
            Sleep 999
            ws.SendKeys "^v"
            Sleep 999
            ws.SendKeys "{ENTER}"
            Sleep 555
            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 = Nothing
        End If
    Next

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
jideco 发表于 2021-11-17 22:44
提示: 作者被禁止或删除 内容自动屏蔽
wxaz 发表于 2021-11-18 09:12
给你个解决思路,在vba获取该文件的文件路径,将此路径复制到剪贴版,有此路径就能在脚本中进行相关的复制操作了
 楼主| yffan19 发表于 2021-11-18 19:40
 楼主| yffan19 发表于 2021-11-18 19:42
wxaz 发表于 2021-11-18 09:12
给你个解决思路,在vba获取该文件的文件路径,将此路径复制到剪贴版,有此路径就能在脚本中进行相关的复制 ...

我是个小白,不懂。大佬可以直接贴个直接使用的吗,感谢
wxaz 发表于 2021-11-19 08:59
yffan19 发表于 2021-11-18 19:42
我是个小白,不懂。大佬可以直接贴个直接使用的吗,感谢

VBS 复制文件
方法一:FileCopy
可在VBA中直接引用,单个文件的copy。
语法:
FileCopy 源文件名,目标文件名
注:如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。
示例:
FileCopy 当前路径, 目标路径
方法二:CopyFile
需调用FileSystemObject,多个文件可使用通配符。
语法:
object.CopyFile source, destination[, overwrite]
CopyFile 方法语法有如下几部分:
部分 描述
object 必需的。object始终是一个 FileSystemObject 的名字。
source 必需的。指明一个或多个要被复制文件的字符串文件说明,它可以包括通配符。
destination 必需的。指明 source 中的一个或多个文件要被复制到的接受端的字符串,不允许有通配符。
overwrite 选项的。Boolean 值,它表示存在的文件是否被覆盖。如果是 True,文件将被覆盖;如果是 False,它们不被覆盖。缺省值是 True。注意如果 destination 具有只读属性设置,不论 overwrite 值如何,CopyFile 都将失败。
示例:
Set Fso = CreateObject("Scripting.FileSystemObject")
Fso.CopyFile 当前路径, 目标路径

VBA本身的filecopy好象不能复制打开的文件;
ThisWorkbook.SaveAs "D:\log\" & Format(Date, "yyyyMMdd") & ".xls"
 楼主| yffan19 发表于 2021-11-19 23:01
wxaz 发表于 2021-11-19 08:59
VBS 复制文件
方法一:FileCopy
可在VBA中直接引用,单个文件的copy。

你这个是直接复制文件到指定的目录,不是复制到剪切板
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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