VBA, MS Access MS Access в примерах

MS Excel - Проверка запущен или нет

Public Function IsExcelOpen() As Boolean
'es - 10.07.2012
'Если MS Excel запущен - вернёт True (-1)
'--------------------------------------------------------------------
Dim objExcelApp As Object
'Или так (если библиотечка подключена)
'Dim objExcelApp As Excel.Application

On Error GoTo IsExcelOpenErr
    Set objExcelApp = GetObject(, "Excel.Application")
    objExcelApp.Visible = True

    IsExcelOpen = True

IsExcelOpenBye:
    On Error Resume Next
    Set objExcelApp = Nothing
    Exit Function

IsExcelOpenErr:
    IsExcelOpen = False
    Err.Clear
    Resume IsExcelOpenBye
End Function


Пример эксплуатации:


Dim AppIsRunning As Boolean

    AppIsRunning = IsExcelOpen

    If AppIsRunning = False Then
        Set objExcelApp = CreateObject("Excel.Application")
    Else
        Set objExcelApp = GetObject(, "Excel.Application")
    End If
    ' ....

    'Если Excel запускали сами (выше)...
    If AppIsRunning = False Then objExcelApp.Quit


Назад ToTop
L.E. 09.03.2024
Рейтинг@Mail.ru