各位大大我如何可以利用VBA將文件移動指定資料夾?
A欄是我想移動的文件
B欄是目標資料夾(資料夾是不同的)
如果資料夾內有相的的文件就不用移動
以下是爬文找到的代碼是用來複製的但出現『路徑或存取錯誤』
Sub CopyFileto()
Dim rng AS Range, oldFilename as String, newFilename as String
For Each rng in Range("A2:A5001")
oldFilename = rng.value ' 檔案的原始路徑與檔名
newFilename = rng.offset(,1).value ' 檔案的新路徑與檔名
FileCopy oldFilename, newFilename
Next rng
end sub
求高手幫幫忙,有很多文件要歸案,一個一個人手放應該會放到脫臼
如果資料夾內有相的的文件就不用移動
這是甚麼意思?
另外,
如果你想搬移且檔案名稱不變,下列程式可能可以幫你(未測試)。
Sub moveFiles()
Dim rng AS Range, oldFilename as String, newFilename as String
Dim onlyName As String
For Each rng in Range("A2:A5001")
oldFilename = rng.value ' 檔案的原始路徑與檔名
onlyName = Dir(oldFilename)
If onlyName <> "" Then
newFilename = rng.offset(,1).value & "\" & onlyName ' 檔案的新路徑與檔名
If Dir(newFilename) = "" Then Name oldFilename As newFilename
End If
Next rng
end sub
我是想A欄的文件移動到B欄的目標資料夾內
檔案名稱不變(因我已經事前改好)
如果資料夾內有相的的文件就不用移動是指
如果目標資料夾內有相同命名的檔案就不用移過去
我試了,基本是可以的
但當A欄其中有文件已存在B欄的目標資料夾內,A欄文件(未在B欄的目標資料夾內的)無法移動。
修好了,你試試看吧。
是成功的.但有一問題.在執行後會出現(路徑或檔案存取錯誤)
有沒有可能newFilename
出現不能成為路徑的字元,例如:?
、*
、\\
等。
檢查B欄位看看