如何查找上次打开的工作簿的名称

时间:2014-10-03 19:47:06

标签: excel-vba vba excel

在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

1 个答案:

答案 0 :(得分: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