test file - is open?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,
I made a macro which does some changes in the workbook and saves it with a
new name. But I forgot one possible error - the file with the new name still
exists, macro will rewrite it. Someone in network can have opened it at the
moment I want do rewrite.
Is there possibility of testing, if the file is able to rewrite? I don!t
want to go through Error Statement.

Thanks

karmela
 
This should work on a network.

Option Explicit
Dim tFile As String
Dim hFile As Long

Sub CheckOpen()
tFile = "C:\Documents and Settings\karmela\My Documents\Book1.xls"
'use the fullname (including path)

If IsFileOpen(tFile) Then
MsgBox tFile & " is open"
Else
'replace with your code
MsgBox tFile & " is not open"

End If
End Sub

Function IsFileOpen(strFullPathFileName As String) As Boolean
On Error GoTo FileOpen
hFile = FreeFile
Open strFullPathFileName For Random Access Read Write Lock Read
Write As hFile
IsFileOpen = False
Close hFile
Exit Function
FileOpen:
IsFileOpen = True
Close hFile
End Function

Cliff Edwards
 
Hi,

thanks... there is also On error... but maybe it is better in a separated
function as in the main procedure.

Is is possible to show, who has the file opened? You know, when openning a
file, that is opened by another user, Excel shows "this file is locked by
user xy" and you can choose - just read, get notice it is writeable... etc.

Thanks karmela

PS. Thank for existing this discussion groups, you have helped me very much
:-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top