Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler 429

Laufzeitfehler 429
27.06.2017 11:32:13
Pascal
Guten Tag zusammen
Habe folgendes Problem:
Bei einigen Benutzern in meinem Büro erscheint Fehlermeldung "Laufzeitfehler 429 – Objekterstellung durch ActiveX-Komponente ist nicht möglich" beim
Ausführen des folgenden Codes:
Sub MailSenden_TEST-SMS()
Dim Text_C1 As String 'Variable dient dazu, zum SMS-Vorschautext noch zusätzlich das Wort " _
TEST-SMS" anzuhängen
Dim objNachricht As Object
Dim objNachricht2 As Object
Dim objMail As Object
Dim objMail2 As Object
Dim SMSText_TEST-SMS As String
Dim Empfaenger As String
If UserForm3.CheckBox1 Then Empfaenger = Empfaenger & "; 0000000000@sms.ip-plus.net" 'Müller
If UserForm3.CheckBox2 Then Empfaenger = Empfaenger & "; 0000000000@sms.ip-plus.net" 'Meier
If UserForm3.CheckBox3 Then Empfaenger = Empfaenger & "; 0000000000@sms.ip-plus.net" 'Muster
If UserForm3.CheckBox4 Then Empfaenger = Empfaenger & "; 0000000000@sms.ip-plus.net" 'Test-Mann
'Stellvertreter-Nummern:
Empfaenger = Empfaenger & "; 0000000000@sms.ip-plus.net" 'Frau Test
Empfaenger = Empfaenger & "; 0000000000@sms.ip-plus.net" 'Herr Müller
Empfaenger = Empfaenger & "; test@hotmail.com" 'Email-Adresse
Set objMail = CreateObject("Outlook.Application")
Set objNachricht = objMail.CreateItem(0)
Set objMail2 = CreateObject("Outlook.Application")
Set objNachricht2 = objMail.CreateItem(0)
'SMS Text
SMSText_TEST-SMS = "Test-SMS " & UserForm3.TextBox5.Text
With objNachricht
.To = Empfaenger
.Body = SMSText_Entwarnung
.ReadReceiptRequested = False
.Display
'.send
End With
End Sub

Bei einigen Benutzern erscheint wie gesagt die Fehlermeldung "Laufzeitfehler 429 – Objekterstellung durch ActiveX-Komponente ist nicht möglich" bei anderen Benutzer
hingegen wird der obige Code fehlerfrei abgearbeitet.
Was könnte da das Problem sein ?
Muss ich irgendwas anders deklarieren/programmieren/einstellen ?
Besten Dank für die Hilfe !
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Vllt. Benutzer ohne Outlook Installation (owT)
27.06.2017 11:52:03
EtoPHG

AW: Vllt. Benutzer ohne Outlook Installation (owT)
27.06.2017 12:01:07
Pascal
...natürlich haben alle Benutzer die gleiche Outlook-Version installiert
Outlook 2013
Debuggen...
27.06.2017 15:00:31
EtoPHG
Hallo Pascal,
Eventuell bei einem solche User kontrollieren, ob unter VBE Extras - Verweise eine Komponente fehlt.
Da du keine Codezeile angibst, nehme ich an, dass der Fehler in der Userform-Klasse passiert.
Dort bei Userform_initialize einen Breakpoint setzen und versuchen die Codezeile rauszufinden.
Gruess Hansueli
Anzeige
AW: Laufzeitfehler 429
27.06.2017 16:03:05
Mullit
Hallo,
kommt mir n bißchen komisch vor, daß Du die OL-App zweimal erstellst, einmal sollte ausreichen und dann zwei Mails..
Gruß, Mullit
AW: Laufzeitfehler 429
28.06.2017 07:41:47
Pascal
Guten Morgen zusammen
nach wie vor haben einige Benutzer bei uns im Büro den obenstehenden Laufzeitfehler. Dies... obwohl auch bei ihnen der obige Code Jahrelang problemlos funktionierte.
den Hinweis von Mullit (zwei OL-App Deklarationen / zwei Mails) hab ich mal beschränkt auf eine.
Fehlermeldung ist immer noch die gleiche.
Mittels Debugger gelange ich zur folgenden fehlerhaften Zeile:
Set objMail = CreateObject("Outlook.Application")
was hat es damit ?
dieser Code kann auf unzähligen PC's mit gleicher Office/Outlook-Installation Problemlos ausgeführt werden. Bei einigen aber nicht.
die Verweise hab ich auf allen Rechnern abgeglichen. Diese sind auf allen Rechnern gleich:
folgende Verweise sind aktiv:
- Visual Basic for Applications
- Microsoft Excel 15.0 Object Library
- OLE Automation
- Microsoft Office 15.0 Object Library
- Microsoft Forms 2.0 Object Library
- Microsoft Windows Common Controls-2 6.0 (SP6)
- Microsoft Outlook View Control
- Microsoft CDO for Windows 2000 Library
Bin schon langsam am Verzweifeln.
Anzeige
AW: Outlook View Control, ist der Verdächtige...
28.06.2017 08:18:58
Pascal
Sali Hansueli
besten Dank schon mal für den Link. Aber ... leider alles auf Englisch :-(
und was hab ich jetzt konkret zu tun / zu korrigieren ?
offenbar also ein Problem mit dem Outlook view Control ?
Anzeige
AW: Outlook View Control, ist der Verdächtige...
28.06.2017 08:48:43
EtoPHG
Sorry Pascal,
VBA sollte man nicht einsetzen, wenn Englisch-Kentnisse fehlen!
Ich würde überprüfen, warum dieses Control überhaupt gebraucht wird.
Ggf. musst du dich halt an deinen VBA-Code-Hersteller wenden!
Gruess Hansueli
AW: Outlook View Control, ist der Verdächtige...
29.06.2017 07:46:29
Pascal
Hallo Hansueli
Der Ersteller des VBA-Codes bin ich. (d.h. diesen habe ich dank der grossartigen Hilfe hier aus dem Forum vor ein paar Jahren mal zusammengestellt).
dieser funktionierte auch immer zur vollsten Zufriedenheit.
Nun aber ... auf einigen PC's im gleichen Büro bringt der Code ständig diesen lästigen Laufzeitfehler.
ich weiss echt nicht mehr weiter... was soll/muss ich tun ?
wie gesagt:
es haben alle die gleichen PC's, gleiches Windows, gleiches Outlook, gleiches Office, gleiche Updates...
und gleichwohl läuft es bei einigen problemlos, bei anderen nicht.
muss ich den Code irgendwie umprogrammieren ?
oder soll ich mal alle Verweise ausschalten ?
Was empfehlt Ihr mir ?
Herzlichen Dank für Eure Hilfe / Unterstützung !
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 429: Problemlösungen für ActiveX-Komponenten in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Überprüfe die Outlook-Installation: Stelle sicher, dass Outlook korrekt installiert ist. Der Fehler "laufzeitfehler 429: objekterstellung durch ActiveX-Komponente nicht möglich" tritt häufig auf, wenn Outlook fehlt oder nicht richtig registriert ist.

  2. Verweise prüfen: Gehe in den Visual Basic Editor (VBE) zu Extras -> Verweise und überprüfe, ob alle notwendigen Verweise aktiv sind. Fehlende Komponenten können ebenfalls zu diesem Fehler führen.

  3. Code anpassen: Nutze den folgenden optimierten Code, um die Outlook-Anwendung einmal zu erstellen und die E-Mails zu versenden:

    Sub MailSenden_TEST-SMS()
        Dim objMail As Object
        Dim objNachricht As Object
        Dim Empfaenger As String
        Dim SMSText_TEST-SMS As String
    
        Set objMail = CreateObject("Outlook.Application")
        Set objNachricht = objMail.CreateItem(0)
    
        Empfaenger = "deine_email@example.com" ' Beispiel-Empfänger
        SMSText_TEST-SMS = "Test-SMS Nachricht"
    
        With objNachricht
            .To = Empfaenger
            .Body = SMSText_TEST-SMS
            .Display
        End With
    End Sub
  4. Debugger verwenden: Setze einen Breakpoint im Code und überprüfe, an welcher Stelle der Fehler auftritt. Dies kann helfen, das Problem genauer einzugrenzen.


Häufige Fehler und Lösungen

  • Fehler 429: Wenn der Fehler auftritt, kann es an einem fehlenden Outlook-Verweis liegen. Überprüfe alle Verweise wie in der Schritt-für-Schritt-Anleitung beschrieben.

  • Überflüssige Objektinstanzierung: Achte darauf, dass Du nicht mehrere Instanzen von Outlook erstellst. Dies kann zu Verwirrung und Fehlern führen.

  • Englische Fehlermeldungen: Wenn Du Schwierigkeiten mit englischen Fehlermeldungen hast, erwäge, die Sprache von Office zu ändern oder die relevanten Informationen in einer Übersetzung zu suchen.


Alternative Methoden

  • Outlook-DLL direkt verwenden: Anstatt eine Instanz von Outlook zu erstellen, könntest Du die Outlook-DLL direkt ansprechen, um E-Mails zu versenden. Dies erfordert jedoch ein gewisses Maß an Programmierkenntnissen und kann komplexer sein.

  • VBA-Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinen VBA-Code, um spezifische Fehlermeldungen abzufangen und entsprechend zu reagieren:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

Praktische Beispiele

Hier sind einige Beispiele, die Dir helfen können, den Fehler "objekterstellung durch ActiveX-Komponente nicht möglich" zu beheben:

  1. E-Mail-Versand ohne ActiveX: Du kannst auch andere Methoden zum Versand von E-Mails in Betracht ziehen, wie z.B. das Verwenden von SMTP-Servern, um E-Mails zu senden, ohne auf Outlook angewiesen zu sein.

  2. Fehlerprotokollierung: Füge in Deinem Code eine Protokollierung hinzu, um Fehler zu erfassen und zu analysieren. Dies kann Dir helfen, herauszufinden, warum der Fehler 429 auftritt.


Tipps für Profis

  • Verwende CreateObject: Stelle sicher, dass Du immer CreateObject anstelle von New verwendest, wenn Du Objekte wie Outlook in VBA erstellst. Dies ist besonders wichtig, um sicherzustellen, dass die Objekte korrekt instanziiert werden.

  • Regelmäßige Updates: Halte Deine Office-Installation und alle verwendeten Komponenten auf dem neuesten Stand, um bekannte Fehler und Probleme zu vermeiden.

  • Testen auf verschiedenen Maschinen: Teste Deinen Code auf verschiedenen Rechnern, um sicherzustellen, dass der Fehler nicht spezifisch für eine bestimmte Systemkonfiguration ist.


FAQ: Häufige Fragen

1. Was ist der Fehler "Laufzeitfehler 429"? Der Fehler tritt auf, wenn VBA versucht, ein COM-Objekt (wie Outlook) zu erstellen, es jedoch nicht möglich ist, oft wegen fehlender Installationen oder falscher Registrierungen.

2. Wie kann ich den Laufzeitfehler 429 beheben? Überprüfe die Installation der betroffenen Software (z.B. Outlook), die aktiven Verweise im VBE und stelle sicher, dass der Code korrekt ist.

3. Was bedeutet "objekterstellung durch ActiveX-Komponente nicht möglich"? Diese Fehlermeldung bedeutet, dass VBA nicht in der Lage war, ein benötigtes Objekt zu erstellen, meist aufgrund von fehlenden oder beschädigten Komponenten.

4. Ist dieser Fehler versionsabhängig? Ja, es kann Unterschiede zwischen verschiedenen Versionen von Office geben, die zu diesem Fehler führen können. Teste Deinen Code auf den spezifischen Versionen, die in Deinem Büro verwendet werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige