如何使用 VBA 在 Excel 功能区中删除最近的文档历史记录。
我正在使用下面的代码,但它似乎不起作用。
Sub Button1_Click()
For i = 1 To Application.RecentFiles.Count - 1
Application.RecentFiles(i).Delete
Next i
End Sub
谢谢 ...
如何使用 VBA 在 Excel 功能区中删除最近的文档历史记录。
我正在使用下面的代码,但它似乎不起作用。
Sub Button1_Click()
For i = 1 To Application.RecentFiles.Count - 1
Application.RecentFiles(i).Delete
Next i
End Sub
谢谢 ...
为了清除最近使用的文件列表,并且不弄乱用户的设置,下面的代码将起作用:
originalSetting = Application.RecentFiles.Maximum
Application.RecentFiles.Maximum = 0
Application.RecentFiles.Maximum = originalSetting
这将删除最近的文件,然后将最近文件的最大数量重置回用户最初拥有的任何内容。
如果您只想单独删除它们,您可以以相反的顺序逐步完成它们以完成工作。
Dim i As Integer
For i = Application.RecentFiles.Count To 1 Step -1
Application.RecentFiles.Item(i).Delete
Next
您需要从集合的底部向上运行,因为一旦您从RecentFiles 集合中删除其中一个条目,其余文件的所有索引都会更改。这样,每次循环时,您都会删除集合中的最后一项。
而且,由于这个集合是 Base 1 而不是 Base 0,所以集合中的最后一项是 Application.RecentFiles.Count 而不是 .RecentFiles.Count-1。
我只是喜欢 Excel 中的所有这些小不一致.. :)
没有隐藏最近使用的文件列表的直接机制。但是,可以通过将Application.RecentFiles.Maximum设置为零 (0) 来完成。
有关详细讨论,请参阅Ron de Bruin的 Change the Ribbon in Excel 2007,并向下滚动到标题为“独裁者示例和隐藏 MRU('最近使用')文件列表”的部分,代码由 Jim Rech 提供。
这也可以手动完成。请参阅:如何在 Office 2007(Word、Excel、PowerPoint)中清除和删除最近使用的文档列表。
——迈克
要从最近的文件列表中清除活动工作簿,请使用以下命令:
Sub DeleteFileFromRecentFiles()
Dim i As Integer
For Each RecentFile In Application.RecentFiles
If ActiveWorkbook.Name = RecentFile.Name Then
i = i + 1
Application.RecentFiles.Item(i).Delete
End If
Next
End Sub
真诚的,理查德