- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2014-11-8 16:27
| 只看該作者
回復 1# taiwan
試試看- Option Explicit
- Sub Ex()
- Dim xDir As String, i As Integer, Ay(), Ar(), s As Variant
- Dim xPath As String
- xPath = "A:\"
- xDir = Dir(xPath & Format(Date, "yyyy-mm-dd") & "*.xls", vbDirectory)
- 'Dir: 表示合乎條件、檔案屬性、磁碟標記的一個檔案名稱、或目錄、檔案夾名稱。
- If xDir = "" Then MsgBox "沒有最新檔案": Exit Sub
- Do While xDir <> ""
- ReDim Preserve Ar(0 To i) '陣列:保持原有元素,重新配置動態陣列變數的儲存空間。
- ReDim Preserve Ay(0 To i)
- Ar(i) = xDir
- Ay(i) = Val(Replace(Split(xDir, " ")(1), ".xls", "")) '取得數字
- i = i + 1
- xDir = Dir '下一個 合乎條件的檔案
- Loop
- s = Application.Max(Ay)
- s = Application.Match(s, Ay, 0)
- If MsgBox("開啟最新 檔案 " & vbTab & Ar(s - 1) & vbLf & Join(Ar, vbLf), vbYesNo) = vbYes Then
- Workbooks.Open xPath & Ar(s - 1)
- End If
- End Sub
複製代碼 |
|