標題:
求助---如何Save 使其檔名尾號+1而不重複
[打印本頁]
作者:
yangjie
時間:
2011-1-18 23:49
標題:
求助---如何Save 使其檔名尾號+1而不重複
本帖最後由 yangjie 於 2011-1-19 00:57 編輯
就教於各位板主大大:
Sub output()
Application.DisplayAlerts = False
path1 = ActiveWorkbook.Path
n=1
Sheets("學生資料").Activate
Sheets("學生資料").Copy
ActiveWorkbook.SaveAs FileName:= _
path1&"\(" & Date$ & ")資料備份" & n & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWindow.Close
End Sub
應如何修改 使其自動判讀
n=?
才能不重複檔名
謝謝 感恩
作者:
Hsieh
時間:
2011-1-19 13:23
本帖最後由 Hsieh 於 2011-1-19 14:45 編輯
回復
1#
yangjie
取得該目錄的檔案數量即可
Sub nn()
Sheets(1).Copy
d = Date$
fd = ThisWorkbook.Path & "\"
f = Dir(fd & d & "*.xls")
Do Until f = ""
n = n + 1
f = Dir
Loop
fs = IIf(IsEmpty(n), d & ".xls", d & "_" & n & ".xls")
ActiveWorkbook.SaveAs fd & fs
End Sub
複製代碼
作者:
yangjie
時間:
2011-1-21 13:19
回復
2#
Hsieh
謝謝版主,問題解決了。
想再請教
f = Dir(fd & d & "*.xls")
Do Until f = ""
n = n + 1
f = Dir
Loop
為何?
f = Dir
的邏輯是?????? 想不懂??
請賜教
作者:
Hsieh
時間:
2011-1-21 14:46
回復
3#
yangjie
VBA說明:
第一次呼叫 Dir 函數時,必須指定 pathname,若要取得其它符合 pathname 的檔案名稱,請重新呼叫 Dir,且不要使用引數
所以當呼叫過DIR函數,VBA即會以同項目為搜尋目標條件
如果已沒有合乎條件的檔案,則 Dir 會傳回一個空字串 (""),一旦傳回值為空字串時,如要再次呼叫 Dir ,也必須要再指定 pathname ,否則會產生錯誤。
所以變數f就是來判斷是否還有符合條件的檔名
作者:
yangjie
時間:
2011-1-22 00:30
回復
4#
Hsieh
完全了解 感謝 Hseih 超級版主
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)