返回列表 上一主題 發帖

[發問] 變更檔名

回復 1# borshun88
DateLastModified 屬性 傳回最後一次修改指定檔案或資料夾的日期和時間。唯讀。
幫你找到最新有修改的檔案,剩下的請自己完成
  1. Option Explicit
  2. Sub 巨集1()
  3.     Dim f As Object, FileDate(), FileName(), S As Variant
  4.     If Dir("D:\AA\*.xlsm") = "" Then: MsgBox "沒檔案": Exit Sub
  5.     For Each f In CreateObject("scripting.filesystemobject").GetFolder("d:\AA").Files
  6.         If InStr(f, ".xlsm") Then
  7.             ReDim Preserve FileName(S)
  8.             ReDim Preserve FileDate(S)
  9.             FileName(S) = f
  10.             FileDate(S) = CDbl(f.DateLastModified)
  11.             S = S + 1
  12.         End If
  13.     Next
  14.     If S > 0 Then
  15.         S = Application.Match(Application.Max(FileDate), FileDate, 0) - 1
  16.         MsgBox FileName(S)
  17.     End If
  18.     'fs.DeleteFile "D:\AA\*"
  19.     'MsgBox "Done"
  20. End Sub
複製代碼

TOP

本帖最後由 GBKEE 於 2012-12-7 07:27 編輯

回復 4# borshun88
Array 函數所建立的陣列預設下限必為零
Match 函數 如有傳回數字  必為1開始
VBA的說明
  1. Option Base 陳述式
  2. 在模組層次中用來宣告陣列索引的預設下限。
  3. 語法
  4. Option Base {0 | 1}
  5. 請注意
  6. 若預設的下限值為 0,則 Option Base 陳述式是不需要的。若需要使用時,此陳述式必須出現在模組中,並且在任何程序之前。Option Base 僅能在模組�堨X現一次,而且必須在含有維數的陣列宣告之前。
  7. 附註 在 Dim、Private、Public、ReDim 和 Static 陳述式中,To 子句提供較具彈性的方法,來控制陣列索引的範圍。然而,如果不使用 To 子句來明確的設定下限,則可用 Option Base 來改變預設值的下限為 1。Array 函數所建立的陣列預設下限必為零,不受 Option Base 所影響。
複製代碼
如果有  Option Base  1  
那 S 就不須減 1

TOP

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