懶人必備,幫你複製多個文件到微信,QQ


懶人必備,幫你複製多個文件到微信,QQ

收到網友A的一個提問,要一次複製多個文件到微信或QQ中,複製文件比較多,每天更新後要發給不同部門的同事,操作比較煩瑣,有什麼好方法解決?

其實,PC端的微信與QQ都有這樣的功能,按Ctrl鍵選中多個文件,Ctrl+C複製,在對話框中Ctrl+V粘貼,按發送就能把多個文件發過去。

網友A當然知道這個功能,問題是要選中多個文件,必須在同一個文件夾中,如果不在同一文件夾,就無法複製了。

確實,如果不在同一文件夾下,多次複製文件是比較麻煩的。好吧,寫段代碼,讓網友A點一下鼠標就能實現複製多個文件這一功能。

不多說,先來個效果圖

懶人必備,幫你複製多個文件到微信,QQ

代碼的思路很簡單:列出要複製文件路徑,把文件複製到剪貼板中

<code>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/<code>

關鍵是Powershell中的語句:

<code># 路徑單引號括住,逗號隔開
$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)/<code>

PS:代碼引用了Powershell,win7及以上的系統是自帶的。如果系統太落後,可以用api來實現。

如果你喜歡本文,請轉發分享一下,想要獲得更多信息,關注我吧!


分享到:


相關文章: