2010-01-22 36 views

回答

2

有隱藏最近使用的文件列表,沒有直接的機制。但是,可以通過將Application.RecentFiles.Maximum設置爲零(0)來完成。

有關詳細的討論,請參閱Ron de Bruin的Change the Ribbon in Excel 2007,然後向下滾動至標題爲「獨裁者示例並隱藏MRU('最近使用')文件列表」一節,其中代碼由Jim Rech提供。

這也可以手動完成。參見:How to Clear and Delete Recent Documents List in Office 2007 (Word, Excel, PowerPoint)

邁克 -

3

要清除最近使用的文件列表,並與用戶的設置不亂,下面的代碼將工作:

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 .. :)

+0

基地1個集/數組:其實我認爲這與Excel沒有任何關係,它是Visual Basic系列語言的一個特性(在VB轉到.NET時發生了改變) – 2011-10-12 22:37:02

0

從recentfiles列表清除activeworkbook使用:

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 

真誠, 理查德