发布时间:2026-07-21阅读(1)

收到网友A的一个提问,要一次复制多个文件到微信或QQ中,复制文件比较多,每天更新后要发给不同部门的同事,操作比较烦琐,有什么好方法解决?
其实,PC端的微信与QQ都有这样的功能,按Ctrl键选中多个文件,Ctrl C复制,在对话框中Ctrl V粘贴,按发送就能把多个文件发过去。
网友A当然知道这个功能,问题是要选中多个文件,必须在同一个文件夹中,如果不在同一文件夹,就无法复制了。
确实,如果不在同一文件夹下,多次复制文件是比较麻烦的。好吧,写段代码,让网友A点一下鼠标就能实现复制多个文件这一功能。
不多说,先来个效果图
Sub getClipboard() Dim fileList As String, pscode As String arr = Range("A2:A5") 文件路径 For i = 1 To UBound(arr) fileList = fileList & "," & arr(i, 1) & "" Next fileList = Mid(fileList, 2, 999) 文件列表 pscode = "Powershell $filelist =" & fileList & vbCrLf & _ "$col = New-Object Collections.Specialized.StringCollection " & vbCrLf & _ "foreach($file in $filelist){$col.add($file)}" & vbCrLf & _ "Add-Type -AssemblyName System.Windows.Forms" & vbCrLf & _ "[Windows.Forms.Clipboard]::setfiledroplist($col)" Shell pscode, vbHide 执行代码并隐藏窗口 MsgBox "文件已复制!"End Sub
# 路径单引号括住,逗号隔开$filelist =C:\a.txt,D:\log_file.txt,E:\日报.xlsx,F:\文件\abc.txt#储存字符串的集合,相当于数组$col = New-Object Collections.Specialized.StringCollection#储存字符串的集合,相当于数组foreach($file in $filelist){$col.add($file)}#加载程序集Add-Type -AssemblyName System.Windows.Forms#放到剪贴板中[Windows.Forms.Clipboard]::setfiledroplist($col)
PS:代码引用了Powershell,win7及以上的系统是自带的。如果系统太落后,可以用api来实现。
如果你喜欢本文,请转发分享一下,想要获得更多信息,关注我吧!,Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图