返回列表 上一主題 發帖

[發問] 變更檔名

[發問] 變更檔名

請問大大
1.如何(搜尋)開啟"D:\AA\"下的最新日期Excel檔案(.xlsm),並變更檔名為Text.xlsm,
然後覆蓋儲存到"D"\BB\Text.xlsm(不要有提醒對話方塊,直接存檔)
2.然後將原"D:\AA\"所有檔案刪除

如上述 第2點刪除檔案參考論壇大大如下可以做到,但第1點不知道要如何寫,
請幫幫忙

Sub 巨集1()
Dim fs
If Dir("D:\AA\*") = "" Then: MsgBox "沒檔案": Exit Sub
Set fs = CreateObject("scripting.filesystemobject")
fs.DeleteFile "D:\AA\*"
MsgBox "Done"
End Sub

回復 5# GBKEE
解釋非常詳盡,對陣列又有多一層的認識
感下大大

回復 2# Hsieh
也感謝Hsieh 大大的關心回覆

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 僅能在模組裏出現一次,而且必須在含有維數的陣列宣告之前。
  7. 附註 在 Dim、Private、Public、ReDim 和 Static 陳述式中,To 子句提供較具彈性的方法,來控制陣列索引的範圍。然而,如果不使用 To 子句來明確的設定下限,則可用 Option Base 來改變預設值的下限為 1。Array 函數所建立的陣列預設下限必為零,不受 Option Base 所影響。
複製代碼
如果有  Option Base  1  
那 S 就不須減 1

TOP

回復 3# GBKEE
Dear GBKEE
大大提供程式可行,也完全match我想要達到的需求,太感恩了
但小弟涉略不深對這些程式有些難以消化,可否詳細說明

    If S > 0 Then

        S = Application.Match(Application.Max(FileDate), FileDate, 0) - 1 ''''''這句就無法連結起來,尤其是為何要-1??

懇請大大在指導一下

TOP

回復 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

回復 1# borshun88

日期檔案名稱的命名規則為何?
學海無涯_不恥下問

TOP

        靜思自在 : 唯其尊重自己的人,才更勇於縮小自己。
返回列表 上一主題