Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Laufzeitfehler mit GetObject("Excel.Application")

313 views
Skip to first unread message

Michael Renz

unread,
Aug 22, 2001, 2:00:32 PM8/22/01
to
Ich bin langsam am verzweifeln.

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


Klaus Oberdalhoff [MVP]

unread,
Aug 22, 2001, 3:34:47 PM8/22/01
to
Hi,

> 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

Michael Renz

unread,
Aug 23, 2001, 4:12:04 AM8/23/01
to
Danke für Eure Tipps,

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/


Thomas Schremser

unread,
Aug 23, 2001, 4:22:45 AM8/23/01
to
Michael Renz schrieb:

>
> 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?

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

Michael Renz

unread,
Aug 23, 2001, 4:23:16 AM8/23/01
to
Das Problem hat sich soeben gelöst.

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...

0 new messages