M
Mark
I've noticed the failure of several macros recently, they worked perfectly
for years under Word 2000 and have stopped with Word 2002. No idea why.
This is typical. It stops at rf.Path with Runtime error 5152: Method 'path'
of object 'RecentFile' failed. When in debug mode, 'Fullname' contains the
full file name/path of the first RecentFile so I don't see how rf.Path and
rf.Name have failed!
---
Sub CleanRecentFileList()
' Cleans history on file menu
' if file cannot be seen, it is removed from the list.
Dim rf As RecentFile, FullName As String
Const CLEARABSENTNETDOCS As Boolean = False
' Change to True to delete docs on absent network drives
Const CLEARABSENTREMOVABLES As Boolean = True
' Change to False to retain docs on absent removable drives
For Each rf In RecentFiles
FullName = rf.Path & Application.PathSeparator & rf.Name ' Fails here!
If FullName = Application.PathSeparator And CLEARABSENTNETDOCS Then
' Probably absent network drive
rf.Delete
Else
On Error Resume Next
' VBA raises error if file is on absent removable disk
If Dir(FullName) = "" Then
If (Err.Number <> 0 And CLEARABSENTREMOVABLES) Or (Err.Number = 0)
Then
rf.Delete
End If
Err.Clear
End If
On Error GoTo 0 ' Reinstate normal VBA error handling
End If
Next
End Sub
for years under Word 2000 and have stopped with Word 2002. No idea why.
This is typical. It stops at rf.Path with Runtime error 5152: Method 'path'
of object 'RecentFile' failed. When in debug mode, 'Fullname' contains the
full file name/path of the first RecentFile so I don't see how rf.Path and
rf.Name have failed!
---
Sub CleanRecentFileList()
' Cleans history on file menu
' if file cannot be seen, it is removed from the list.
Dim rf As RecentFile, FullName As String
Const CLEARABSENTNETDOCS As Boolean = False
' Change to True to delete docs on absent network drives
Const CLEARABSENTREMOVABLES As Boolean = True
' Change to False to retain docs on absent removable drives
For Each rf In RecentFiles
FullName = rf.Path & Application.PathSeparator & rf.Name ' Fails here!
If FullName = Application.PathSeparator And CLEARABSENTNETDOCS Then
' Probably absent network drive
rf.Delete
Else
On Error Resume Next
' VBA raises error if file is on absent removable disk
If Dir(FullName) = "" Then
If (Err.Number <> 0 And CLEARABSENTREMOVABLES) Or (Err.Number = 0)
Then
rf.Delete
End If
Err.Clear
End If
On Error GoTo 0 ' Reinstate normal VBA error handling
End If
Next
End Sub