Check if Word document is open using Visual Basic

Hi,

I have a Visual Basic application that combines several word documents into one. I found that there is an error when a word document is open by another user. How can I check to see if a word document is open before I do anything using visual basic?

Thanks
ALawrence007Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
ladarlingConnect With a Mentor Commented:
In VB.Net, you would use:

Private Function FileInUse(ByVal FileName As String)
Dim fs As IO.FileStream
Try
fs = New IO.FileStream(FileName, IO.FileMode.Open, IO.FileAccess.Write, IO.FileShare.None)
Catch ex As Exception
Return True
End Try
fs.Close()
Return False
End Function
 
0
 
byundtCommented:
You might try renaming the file and trapping the error.

On Error Resume Next
Err.Clear
Name "Some Path\" & "Some File.doc" As "Some Path\" & "Some File.doc"
If Err<>0 Then      'File is in use
Err.Clear
On Error GoTo 0
0
 
Joanne M. OrzechManager, Document Services CenterCommented:
See:
http://support.microsoft.com/kb/209189

Sub YourMacro()
   Dim strFileName As String
   ' Full path and name of file.
   strFileName = "C:\test.doc"
   ' Call function to test file lock.
   If Not FileLocked(strFileName) Then
      ' If the function returns False, open the document.
      Documents.Open strFileName
   End If
End Sub

Open in new window

0
 
ALawrence007Author Commented:
Thanks to all. This reply was what I was looking for.
0
All Courses

From novice to tech pro — start learning today.