How to check if a file has already been opened by another user
Article contributed by Jonathan West
The following function will return True if a file is already in use by another user, and False if it is available for use.
The function is useful if you are running a macro on a set of files, and want to avoid having it stop with the dialog asking if you want to open a copy of the file
 
 Function FileLocked(strFileName  As String)
  As Boolean
 
 
  On Error Resume Next
 
 
 ' If the file is already opened by another process,
 
 ' and the specified type of access is not allowed,
 
 ' the Open operation fails and an error occurs.
 
 
 Open strFileName  For Binary Access Read Lock Read 
	As 
  #1
 
  Close  #1
 
 
 ' If an error occurs, the document is currently open.
 
 
If  Err.Number <> 0  Then
 
     FileLocked =  True
 
     Err.Clear
 
  End If
 
 
  End Function
 
You could call it like this:
Sub
 	Test()
 
 If Not FileLocked("C:\Temp\Temp.doc") 
	Then
     Documents.Open "C:\Temp\Temp.doc"
 End Iff
 
 End Sub
