MyTetra Share
Делитесь знаниями!
Пример определения запущен-ли Excel, Outlook, Word
Время создания: 31.07.2019 22:38
Раздел: Разные закладки - VBA
Запись: xintrea/mytetra_db_adgaver_new/master/base/1532202376zn6kugt1t8/text.html на raw.githubusercontent.com

Пример определения запущен-ли Excel.
Вместо 'XLMAIN' можно подставить имя главного
окна Outlook (я его не знаю).


Visual BasicВыделить код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17



Declare Function FindWindow Lib 'user32' Alias _

'FindWindowA' (ByVal lpClassName As String, _

               ByVal lpWindowName As Long) As Long

 

Function DetectExcel() As Long

' Procedure dectects a running Excel and registers it.

  Const WM_USER = 1024

   Dim hWnd As Long

' If Excel is running this API call returns its handle.

  hWnd = FindWindow('XLMAIN', 0)

  If hWnd = 0 Then   ' 0 means Excel not running.

     Exit Function

   Else

   ' Excel is running so use the SendMessage API

     

   End If

End Function



Да напрямую:


Visual BasicВыделить код

1



If Tasks.Exists(Name:='Microsoft Outlook') = True Then ...



Прошу прощения, что поднимаю старую тему, но тоже столкнулся с данным вопросом, поэтому пришлось потратить много времени на решение данной темы.
Для ищущих выкладываю решение здесь:


Visual BasicВыделить код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20



#If Win64 Then

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _

lpClassName As String, ByVal lpWindowName As String) As LongLong

#Else

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _

lpClassName As String, ByVal lpWindowName As String) As Long

#End If

 

Private Sub Workbook_Open()

   

    findoutlook = FindWindow("OpusApp", vbNullString)

        If findoutlook Then

            Sheets("intro").Activate

            Cells(1, 1).Select

        Else

            MsgBox "ВНИМАНИЕ! Microsoft Outlook не запущен! Перед открытием программы запустите Microsoft Outlook."

            ThisWorkbook.Close True

        End If

   

End Sub




Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования