AW: Laufzeitfehler 429 bei CreateObject("Outlook.App..
Karl-Otto
Hallo Vera
Das hab' ich bei
http://195.186.84.74/xlimits/limits.htm
gefunden:
---------------------------------------------------------------------------------------
Fehler 429 bei "GetObject"-Funktion nach Starten einer Anwendung mit "Shell"
Wenn eine Anwendung mit der Shell-Funktion gestartet und unmittelbar danach versucht wird, anhand der GetObject-Funktion die neu gestartete Instanz zu übernehmen, kann der Laufzeitfehler 429 "Objekterstellung durch ActiveX-Komponente nicht möglich" auftreten.
Hinweis
- Dieses Verhalten tritt bei allen Office-Versionen (Office 97/2000/XP), bei Visual Basic 5.0/6.0 und unter allen Windows-Versionen auf.
- Die hier vorgestellte Ursache des Laufzeitfehlers 429 "Objekterstellung durch ActiveX-Komponente nicht möglich" ist im Thema "Laufzeitfehler 429" der VBA-Referenz (Onlinehilfe) nicht beschrieben.
Problem
Text folgt...
'Deklaration der benötigten API-Routinen
Declare
Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName as String, ByVal lpWindowName As Long) As Long
Declare
Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd as Long, ByVal wMsg as Long, ByVal wParam as Long, ByVal lParam As Long) As Long
Sub DetectExcel()
Const WM_USER = 1024
Dim hWnd As Long
'Wenn Excel ausgeführt wird, wird durch Ausführen dieses
'API-Aufrufs die zugehörige Zugriffsnummer zurückgegeben.
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then '0 bedeutet, dass Excel nicht ausgeführt wird.
Exit Sub
Else
'Excel wird ausgeführt. Verwenden der API-Funktion SendMessage,
'um Excel in der Tabelle ausgeführter Objekte einzutragen.
SendMessage hWnd, WM_USER + 18, 0, 0
End If
End Sub
--------------------------------------------------------------------------------------
Gruß
KO