如何一次複製多個檔案到微信,QQ
收到網友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
關鍵是Powershell中的語句:
# 路徑單引號括住,逗號隔開 $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來實現。