收到網友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來實現。
如果你喜歡本文,請轉發分享一下,想要獲得更多信息,關注我吧!,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!