2014-10-03 64 views
2

在Excel 2013中,只需轉到文件>打開>最近工作簿>選擇列表中的第一個即可。如何查找上次打開的工作簿的名稱

但是,這可以通過代碼來完成嗎? 似乎很容易做到,但我沒有找到任何線索,在這裏或網上。

請注意,我認爲我需要文件的名稱+完整路徑,然後執行一個簡單的workbooks.open Filename

另請注意,此時不打開任何工作簿,並且thisworkbook.name不是合格的(否則它將無限循環以打開自己)。

我想的有點像

Dim a as Long 
Dim i as Long 
Dim Str as String 
a= Application.OpenworkbooksHistory.items.count 
For i=1 to a 
    str = Application.OpenworkbooksHistory.items (i) 
    if str<>thisworkbook.path & "\" & thisworkbook.name then 
     workbooks.open str 
     exit sub 
    end if 
next i 

回答

3

你會發現最近的文件中Application.RecentFiles

集合要打開最後一個只使用Workbooks.open Application.REcentFiles(1)

,或者你可以遍歷他們如果你想要更奇特的東西:

For each rfile in application.recentfiles 
    if instr(1, rfile.name, "poop") > 0 then 
     Workbooks.open rfile.name 
    end if 
next 
+0

excellen牛逼!那很簡單。你在答案的第二行忘了'.name'。 – 2014-10-04 14:53:56

相關問題