如何使用VBA刪除Excel功能區中最近的文檔歷史記錄。如何使用VBA刪除Excel功能區中最近的文檔歷史記錄
我正在使用下面的代碼,但似乎沒有工作。
Sub Button1_Click()
For i = 1 To Application.RecentFiles.Count - 1
Application.RecentFiles(i).Delete
Next i
End Sub
謝謝...
如何使用VBA刪除Excel功能區中最近的文檔歷史記錄。如何使用VBA刪除Excel功能區中最近的文檔歷史記錄
我正在使用下面的代碼,但似乎沒有工作。
Sub Button1_Click()
For i = 1 To Application.RecentFiles.Count - 1
Application.RecentFiles(i).Delete
Next i
End Sub
謝謝...
有隱藏最近使用的文件列表,沒有直接的機制。但是,可以通過將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)。
邁克 -
要清除最近使用的文件列表,並與用戶的設置不亂,下面的代碼將工作:
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 .. :)
從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
真誠, 理查德
基地1個集/數組:其實我認爲這與Excel沒有任何關係,它是Visual Basic系列語言的一個特性(在VB轉到.NET時發生了改變) – 2011-10-12 22:37:02