Option
Explicit
Private
Declare
Function
FindWindow
Lib
"user32.dll"
Alias
"FindWindowA"
( _
ByVal
lpClassName
As
String
, _
ByVal
lpWindowName
As
String
)
As
Long
Private
Declare
Function
FindWindowEx
Lib
"user32.dll"
Alias
"FindWindowExA"
( _
ByVal
hWnd1
As
Long
, _
ByVal
hWnd2
As
Long
, _
ByVal
lpsz1
As
String
, _
ByVal
lpsz2
As
String
)
As
Long
Private
Declare
Function
SendMessage
Lib
"user32.dll"
Alias
"SendMessageA"
( _
ByVal
hwnd
As
Long
, _
ByVal
wMsg
As
Long
, _
ByVal
wParam
As
Long
, _
ByVal
lParam
As
Long
)
As
Long
Private
Const
BM_CLICK = &HF5
Private
Const
GC_CLASSNAMEDIALOG =
"#32770"
Private
Const
GC_CLASSNAMEBUTTON =
"Button"
Private
Const
DIALOG_CAPTION =
"Microsoft Office Excel"
Private
Const
BUTTON_CAPTION =
"OK"
Public
dtmNextTime
As
Date
Public
Sub
StartTimer()
Dim
lngDialogHwnd
As
Long
, lngButtonHwnd
As
Long
lngDialogHwnd = FindWindow(GC_CLASSNAMEDIALOG, DIALOG_CAPTION)
If
CBool
(lngDialogHwnd)
Then
lngButtonHwnd = FindWindowEx(lngDialogHwnd,
ByVal
0&, GC_CLASSNAMEBUTTON, BUTTON_CAPTION)
If
CBool
(lngButtonHwnd)
Then
Call
SendMessage(lngButtonHwnd, BM_CLICK, 0&, 0&)
Call
SendMessage(lngButtonHwnd, BM_CLICK, 0&, 0&)
End
If
End
If
dtmNextTime = Now + TimeSerial(0, 0, 10)
Application.OnTime dtmNextTime,
"StartTimer"
End
Sub