台灣最大程式設計社群網站
線上人數
1027
 
會員總數:246135
討論主題:189716
歡迎您免費加入會員
討論區列表 >> office VBA / WinOS >> Excel VBA 如何開啟某個資料夾內最新的檔案?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Excel VBA 如何開啟某個資料夾內最新的檔案?
價值 : 200 QP  點閱數:1722 回應數:4
樓主

mimi2465
門外漢
0 1
6 1
發送站內信

Excel VBA 如何開啟某個資料夾內最新的檔案?
搜尋相關Tags的文章: [ VBA ] , [ Excel ] , [ 最新檔案 ] ,
本篇文章發表於2017-02-22 14:13
1樓
最有價值解答

roar
檢舉此回應
檔案目錄及型式為後面2個參數。
檔案如下:
https://drive.google.com/open?id=0Byaf47T83Uj6amRxUTNSQzZBcEk

Private Sub CommandButton1_Click()
Call DDNewestFile("D:\A農事服務\", "*.xls")
End Sub



Sub DDNewestFile(Directory, FileSpec)
' Returns the name of the most recent file in a Directory
' That matches the FileSpec (e.g., "*.xls").
' Returns an empty string if the directory does not exist or
' it contains no matching files
Dim FileName As String
Dim MostRecentFile As String
Dim MostRecentDate As Date
Dim FileNow As String
FileNow = Application.ThisWorkbook.Name
If Right(Directory, 1) <> "\" Then Directory = Directory & "\"

FileName = Dir(Directory & FileSpec, 0)
If FileName <> "" And FileName <> FileNow Then
MostRecentFile = FileName
MostRecentDate = FileDateTime(Directory & FileName)
Do While FileName <> "" And FileName <> FileNow
If FileDateTime(Directory & FileName) > MostRecentDate Then
MostRecentFile = FileName
MostRecentDate = FileDateTime(Directory & FileName)
End If
FileName = Dir
Loop
End If

Workbooks.Open FileName:=Directory & MostRecentFile
ThisWorkbook.Activate
Application.ScreenUpdating = True

End Sub
本篇文章回覆於2017-02-22 16:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

mimi2465
檢舉此回應
可以了耶:D
感謝roar !!
本篇文章回覆於2017-02-22 16:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

夢之行者
檢舉此回應
大大您好!

成功使用您的檔案開啟最新的檔案並複製資料貼到想要的Workbook(Report Check 202005.xlsm)
但是想要貼完之後關閉此「最新檔案」並且「不要儲存」卻怎樣修改都無法達成
程式碼如下∼∼∼



我是想要改寫DDNewestFile成為DDNewestFileClose
但最後面使用下方程式碼卻失敗,實在不知道怎樣改



請問各位大神該怎麼做呢?

本篇文章回覆於2020-05-06 16:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

roar
檢舉此回應
Private Sub CommandButton2_Click()
ThisWorkbook.Close SaveChanges:=False
End Sub
本篇文章回覆於2020-05-07 11:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.