Всем доброго дня! 
 Как можно решить такую задачу: 
 на сервере находится обще доступный файл ("База_Общая"). 
 При работе со своим локальным файлом ("Отчёт") необходимо чтобы макрос проверил - открыта ли "База_Общая"? Если открыта кем-то другим - прекратить работу макроса. Если не открыт никем - открыть и перейти к этой самой "Базе_Общей". Если открыта у меня - просто перейти к нему. 
 Нашёл такое решение. 
 [vba]Код
Sub Macro1 
      Dim strFileName As String 
      strFileName = "Q:\База данных\База_Общая.xlsm" 
      If Not FileLocked(strFileName) Then 
      Workbooks.Open strFileName 
      Else: Exit Sub 
      End If 
 End Sub
 [vba]Код
Function FileLocked(strFileName As String) As Boolean 
     On Error Resume Next 
     Open strFileName For Binary Access Read Write Lock Read Write As #1 
     Close #1 
     If Err.Number <> 0 Then 
          
        MsgBox "Файл " & strFileName & " уже у кого-то открыт", vbInformation 
        FileLocked = True 
        Err.Clear 
     End If 
 End Function
 Но не работает как надо, если файл открыт у меня. 
 Что надо исправить?