返回列表 上一主題 發帖

[發問] FileCopy 同名檔案不覆蓋

回復 1# li_hsien
試試看
  1. Option Explicit
  2. Sub SF_collection_Click()
  3.     Dim 目的目錄  As String, 搜尋目錄 As String, T As Date, Fs As Object, Sf As Object, f As Object
  4.     Dim i As Integer, 檔名 As String, 副檔名 As String, 檔名_計數 As Integer, MyDir As String
  5.     目的目錄 = "D:\"
  6.     搜尋目錄 = "C:\test"
  7.     T = Time
  8.     Set Fs = CreateObject("Scripting.FileSystemObject")
  9.     Set Sf = Fs.GetFolder(搜尋目錄).SubFolders
  10.     For Each f In Sf
  11.         With Application.FileSearch
  12.             .FileType = msoFileTypeExcelWorkbooks
  13.             .LookIn = f             '傳回大寫的資料夾名稱
  14.             .Filename = "*.*"
  15.             .Execute
  16.             For i = 1 To .FoundFiles.Count
  17.                 檔名 = Fs.GetBaseName(.FoundFiles(i))
  18.                 副檔名 = Fs.GetExtensionName(.FoundFiles(i))
  19.                 檔名_計數 = 0
  20.                 MyDir = Dir(目的目錄 & 檔名 & "*." & 副檔名, vbDirectory)
  21.                 Do While MyDir <> ""
  22.                     檔名_計數 = 檔名_計數 + 1
  23.                     MyDir = Dir
  24.                 Loop
  25.                 If 檔名_計數 > 0 Then
  26.                     檔名 = 目的目錄 & 檔名 & "(" & 檔名_計數 & ")." & 副檔名
  27.                 Else
  28.                     檔名 = 目的目錄 & 檔名 & "." & 副檔名
  29.                 End If
  30.                 FileCopy .FoundFiles(i), 檔名
  31.             Next
  32.         End With
  33.     Next
  34.     Debug.Print "經過時間: " & DateDiff("n", T, Time) & "分"
  35. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 有時當思無時苦,好天要積雨來糧。
返回列表 上一主題