返回列表 上一主題 發帖

[發問] VBA 輸入日期 讀取檔案後分類放進資料夾

回復 1# mark126
試試看
  1. Sub Ex()  '複製的檔案,巨集的活頁簿,父層資料夾相同的程式碼
  2.     Dim fs As Object, F As Object, A$, MyPath$
  3.     MyPath = ThisWorkbook.Path                            '這活頁簿的資料夾名稱
  4.     Set fs = CreateObject("Scripting.FileSystemObject")   '提供對電腦檔案系統的存取的物件
  5.     For Each F In fs.GetFolder(MyPath).Files
  6.         '****   asv 這副檔名沒見過  **********
  7.         If InStr(F, "_") And InStr(F, ".asv") Then    '檔案名稱中尋找 "_" 副檔名 ".asv"
  8.             A = Mid(F, InStr(F, "_") + 1)             '取的"_"之後的字串
  9.             A = Replace(A, ".xls", "")                '刪掉副檔名
  10.             A = Replace(A, "-", "\")                  '替換"-"為"\"
  11.             If fs.FolderExists(MyPath & "\" & Mid(A, 1, 4)) = False Then '找不到[年度]的資料夾
  12.                 ChDir MyPath                          '改變目前的目錄或檔案夾 到 MyPath
  13.                 '如複製的檔案目的地與,巨集的活頁簿,父層資料夾不相同,可另設一變數取代 MyPath
  14.                 MkDir Mid(A, 1, 4)                    '建立一個新的目錄或檔案夾。
  15.             End If
  16.             If fs.FolderExists(MyPath & "\" & Mid(A, 1, 7)) = False Then '找不到[年度月份]的資料夾
  17.                 ChDir MyPath & "\" & Mid(A, 1, 4)
  18.                 MkDir MyPath & "\" & Mid(A, 1, 7)
  19.             End If
  20.             If fs.FolderExists(MyPath & "\" & A) = False Then   '找不 [年度月份日期]的資料夾
  21.                 ChDir MyPath & "\" & Mid(A, 1, 7)
  22.                 MkDir MyPath & "\" & A
  23.             End If
  24.             fs.CopyFile F, MyPath & "\" & A & "\"   '複製檔案到 指定的路徑
  25.         End If
  26.     Next
  27.     ChDir MyPath                                    '回到原目錄
  28. End Sub
複製代碼

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題