Mega Code Archive

 
Categories / VisualBasic Script / Windows API
 

Check Whether an Excel File Is Open on a Network

Private Declare Function lOpen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long Private Declare Function lClose Lib "kernel32" Alias "_lclose" (ByVal hFile As Long) As Long Private Const OF_SHARE_EXCLUSIVE = &H10 Private Function FileIsOpen(strFullPath_FileName As String) As Boolean     Dim hdlFile As Long     Dim lastErr As Long     hdlFile = -1     hdlFile = lOpen(strFullPath_FileName, OF_SHARE_EXCLUSIVE)     If hdlFile = -1 Then         lastErr = Err.LastDllError     Else         lClose (hdlFile)     End If     FileIsOpen = (hdlFile = -1) And (lastErr = 32) End Function Sub CheckFileOpen()     If FileIsOpen("C:\C.xlsx") Then         MsgBox "File is open"          Else         MsgBox "File is not open"     End If      End Sub