Makro mit App.OnTime läuft nicht
01.11.2012 15:48:47
Albert
ich habe folgendes Makro von Nepumuk zur Verfügung gestellt bekommen:
Option Explicit
Private Declare Function EnumWindows Lib "user32.dll" ( _
ByVal lpEnumFunc As Long, _
ByVal lParam As Long) As Boolean
Private Declare Function GetClassName Lib "user32.dll" Alias "GetClassNameA" ( _
ByVal hWnd As Long, _
ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long
Private Const GC_CLASSNAME_EXPLORER = "CabinetWClass" 'ExploreWClass
'Private Const GC_CLASSNAME_FIREFOX = "MozillaUIWindowClass" 'Funktioniert nicht
Private Const GC_CLASSNAME_INTERNETEXPLORER = "IEFrame"
Private Function WindowCallBack(ByVal lngHwnd As Long, ByVal lngParam As Long) As Boolean
Dim strClassName As String * 256
Dim lngReturn As Long
lngReturn = GetClassName(lngHwnd, strClassName, 256)
Select Case Left$(strClassName, lngReturn)
Case GC_CLASSNAME_EXPLORER
MsgBox "Close Windows Explorer"
' Case GC_CLASSNAME_INTERNETEXPLORER
' MsgBox "Internetexplorer schließen"
' Case GC_CLASSNAME_FIREFOX
' MsgBox "Firefox ist geöffnet"
End Select
WindowCallBack = True
End Function
Public Sub OA1()
Call EnumWindows(AddressOf WindowCallBack, ByVal 0&)
End Sub
Ich möchte dieses nun zeitverzögert starten und benutze dafür folgende Anweisung:Public Sub CD2()
Application.OnTime Now + TimeValue("00:00:30"), "OA1"
End Sub
Es tritt nun folgendes Problem auf: wenn ich OA1 direkt starte -> Funktion einwandfrei:Wenn ich es jedoch über CD2 starte kommt folgende sinngemäße Fehlermeldung: "OA1 in dieser Arbeitsmappe nicht verfügbar oder alle Makros wurden deaktiviert"
Wer weiß Rat?
Albert