VBA: Быстрая проверка наличия книги/надстройки в памяти

Если нужно узнать, загружена в памяти надстройка или рабочая книга без перебора и не только видимые книги, то можно это легко сделать вот таким вот способом:

'=======================================================================================
' Функция, проверяющая наличия в памяти книги/надстройки
Public Function CheckInMemory(ByVal WBName As String, Optional ByVal TrimName As Boolean = True) As Boolean

    CheckInMemory= False
    If TrimName Then WBName = Trim(WBName)
    If WBName = "" Then Exit Function

    On Error GoTo BayBay
    If Len(Workbooks(WBName).FullName) > 0 Then
        CheckInMemory= True
        Exit Function
    End If
BayBay:
End Function

Пример использования:

    If Not CheckInMemory("zip.xla") Then Exit Sub
    If CheckInMemory("mybase.xls") Then
        MsgBox "Можно работать дальше!"
    End If

Оставьте комментарий