Folgender Aufruf erzeugt in meiner Applikation seit neustem eine
Fehlermeldung. Das ganze hatte aber vorher schon funktioniert.
Public xlApp As Object
Set xlApp = GetObject(Class:="Excel.Application")
Laufzeitfehler "429":
Objekterstellung durch ActiveX-Komponente nicht möglich.
Ich verwende diesen Aufruf um festzustellen, ob Excel schon offen ist.
Folgender Aufruf hingegen funktioniert.
Set xlApp = CreateObject(Class:="Excel.Application")
Was kann da nur los sein?
Ich habe auch schon ein neues Projekt angelegt und nur diesen Aufruf
eingetragen mit dem selben Resultat. Der Verweis auf die Excel Objekt
Library ist auch eingetragen.
Excel selber läuft eigentlich auch normal.
Danke für jeden Hinweis.
Michael Renz
> Ich verwende diesen Aufruf um festzustellen, ob Excel schon offen ist.
komisch, das Ganze
Ich nehm immer folgende Routine (hier am Beispiel Word, is aber egal)
Dim appWd As Word.Application '(early binding is besser)
...
On Error Resume Next 'See if Word is running
Set appWd = GetObject(, "Word.Application")
If Err.Number <> 0 Then 'Word Not running
Err.Clear ' Clear Err object in case error occurred.
'Create a new instance of Word
Set appWd = CreateObject("Word.Application")
'Create an instance of Word
Else
appWd.Activate
End If
On Error GoTo btnWinWord_Error ' Fehlerroutine wieder aktivieren
...
--
mfg Klaus Oberdalhoff ko...@gmx.de
Wie ich festgestellt habe muss das ein Problem der IDE sein. Die
Fehlermeldungen werden durch den Error-Handler nicht abgefangen.
Die kompilierte Variante läuft aber komischerweise.
Habe daraufhin VB komplett neu installiert jedoch ohne Erfolg.
Hat sich da vielleicht etwas an meinem NT verbogen?
Michael
Thorsten Dörfler <t.doerf...@bdsw.de> schrieb in im Newsbeitrag:
9m1aub...@bdsw.de...
> "Michael Renz" <michae...@busch.de> schrieb:
>
> > Folgender Aufruf erzeugt in meiner Applikation seit neustem eine
> > Fehlermeldung. Das ganze hatte aber vorher schon funktioniert.
> >
> > Public xlApp As Object
> >
> > Set xlApp = GetObject(Class:="Excel.Application")
> >
> > Laufzeitfehler "429":
> > Objekterstellung durch ActiveX-Komponente nicht möglich.
> >
> > Ich verwende diesen Aufruf um festzustellen, ob Excel schon offen ist.
>
> Eben, und nur wenn Excel bereits läuft, kann GetObject auch mit Erfolg
> eine Referenz auf diese Instanz liefern, ansonsten gibt es Fehler 429.
>
> Abfangen kannst Du diesen mit Hilfe eines Error-Handler (On Error
> Resume Next/ On Error Goto ...).
>
> > Folgender Aufruf hingegen funktioniert.
> > Set xlApp = CreateObject(Class:="Excel.Application")
>
> Wundert nicht weiter, CreateObject erstellt auch eine neue Instanz,
> egal ob Excel bereits läuft oder nicht.
>
> Thorsten Dörfler
> --
> vb-hellfire - einfach anders
> http://www.vb-hellfire.de/
Du solltest unter Extras|Optionen auf dem Register Allgemein für die Fehler-
behandlung "In Klassenmodul" oder "Bei nicht verarbeiteten Fehlern" einstellen.
Grüße
Thomas
Habe wohl im Laufe des Projektes die Einstellungen in der IDE für den
Programm-Abbruch auf "jeden Fehler" geändert.
Nur eine Kleinigkeit, irgendwann einmal verändert und man verzweifelt später
beinahe an einer anderer Stelle.:)
Michael
Michael Renz <michae...@busch.de> schrieb in im Newsbeitrag:
#h8dWt6KBHA.1408@tkmsftngp05...