Discussion:
Laufzeitfehler 429 beim Zugriff auf Outlook
(zu alt für eine Antwort)
Andreas Dach
2004-01-01 08:49:14 UTC
Permalink
Hallo Newsgroup,

ihr könnt mir helfen, dass das Jahr 2004 besser anfängt, wie das Jahr 2003
aufhört!

Ich habe Win XP und Access XP. Jeweils mit den aktuellen SPs installiert.

Ich möchte aus einem Formular heraus mittels VBA eine E-Mail in Outlook XP
versenden. Der Code sieht folgendermaßen aus:

Private Sub EMail_Click()
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim Empf As Variant
Dim Betreff As Variant
Dim Nachricht As Variant
Empf = "***@test.de"
Betreff = "Testbetreff"
Nachricht = "Test"
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
Set objOutlookRecip = .Recipients.Add(Empf)
objOutlookRecip.Type = olTo
.Subject = Betreff
.Body = Nachricht
.Importance = olImportanceNormal
For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
Next
.Display
End With
Set objOutlook = Nothing
End Sub

Beim Aufruf kommt aber der Laufzeitfehler 429: Objekterstellung durch
ActiveX-Komponente nicht möglich.

Zur Problemlösung habe ich schon einiges versucht. Angefangen mit der FAQ
7.9 auf www.donkarl.com - ohne Erfolg. Office reparieren - ohne Erfolg,
komplette Neuinstallation des PC - ohne Erfolg. Anschließend habe ich
nochmals die FAQ 7.9 probiert - ohne Erfolg.
Auch das Studium der NG hat mich nicht wirklich weitergebracht.

Vielleicht kann mir jemand von Euch weiterhelfen, oder mir wenigstens
erklären, was eigentlich das Problem ist. Mich wundert etwas, dass ich nach
ähnlichem Muster auch ein Word-Dokument aus Access starte, und das ohne
Probleme! Da fällt mir gerade noch ein: Verweise sind gesetzt für VBA, OLE
Automation, Office, Word, Excel, Access, Outlook 10.0, Office XP Web
Komponenten, DAO 3.6 und ActiveX 2.6

Viele Grüße
Andi
Peter Doering
2004-01-01 10:38:46 UTC
Permalink
Post by Andreas Dach
Ich habe Win XP und Access XP. Jeweils mit den aktuellen SPs installiert.
Ich möchte aus einem Formular heraus mittels VBA eine E-Mail in Outlook XP
Private Sub EMail_Click()
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Aendere das auf

Dim objOutlook As Object
Dim objOutlookMsg As Object
Dim objOutlookRecip As Object

und probier nochmal.

Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Andreas Dach
2004-01-01 10:47:02 UTC
Permalink
Post by Peter Doering
Aendere das auf
Dim objOutlook As Object
Dim objOutlookMsg As Object
Dim objOutlookRecip As Object
und probier nochmal.
Gruss - Peter
Hallo Peter,

danke für Deine schnelle Antwort. Die Geschichte hatte ich bereits
ausprobiert - ebenfalls ohne Erfolg. Ich habs nur vergessen, aufzuzählen.

Gruß
Andi
Peter Doering
2004-01-01 12:23:01 UTC
Permalink
Post by Andreas Dach
Post by Peter Doering
Dim objOutlook As Object
Dim objOutlookMsg As Object
Dim objOutlookRecip As Object
und probier nochmal.
danke für Deine schnelle Antwort. Die Geschichte hatte ich bereits
ausprobiert - ebenfalls ohne Erfolg. Ich habs nur vergessen, aufzuzählen.
Bei mir laeuft deine Prozedur mit genau diesen Aenderungen.

Gruss - Peter
--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com
Michael Zimmermann
2004-01-01 12:36:06 UTC
Permalink
Hallo!

[Fehlermeldung]
| Objekterstellung durch ActiveX-Komponente nicht möglich.
Post by Peter Doering
Post by Andreas Dach
Post by Peter Doering
Dim objOutlook As Object
Dim objOutlookMsg As Object
Dim objOutlookRecip As Object
und probier nochmal.
danke für Deine schnelle Antwort. Die Geschichte hatte
ich bereits ausprobiert - ebenfalls ohne Erfolg. Ich
habs nur vergessen, aufzuzählen.
Bei mir laeuft deine Prozedur mit genau diesen
Aenderungen.
Ich habe den Fehler bei völlig korrektem Code auch schon
ab und an bekommen. Meiner Erfahrung nach kann er auf
beginnende DB-Korruption hinweisen.

Der gleiche Code lief dann einwandfrei nach Erstellen
einer neuen DB und Komplettimport aller Objekte. Man
kann es einfach mal probieren, ob's hilft.

Dieses Vorgehen tut dem Frontend, solange man noch
entwickelt, auch rein prophylaktisch ab und zu ganz
gut.

Gruß aus Mainz
Michael
Andreas Dach
2004-01-01 14:08:58 UTC
Permalink
Vielen Dank für Eure zahlreiche Hilfe!

Ich habe alle Objekte in eine neue DB eingefügt. Leider hatte auch das kein
Erfolg. Der Effekt ist genau der selbe. Gleicher Fehler, gleiches Leid.
Trotzdem Danke für den Tip, Michael.

Atool hab ich mir auch geholt. Da ich aber relativer VBA-Anfänger bin, ist
mir das irgendwie zu kompliziert. Ich komme damit nicht recht zurecht.

Gruß
Andi
Peter Steimann[MVP Access]
2004-01-01 16:05:56 UTC
Permalink
Hallo Andreas
Post by Andreas Dach
Vielen Dank für Eure zahlreiche Hilfe!
Ich habe alle Objekte in eine neue DB eingefügt. Leider hatte auch das kein
Erfolg. Der Effekt ist genau der selbe. Gleicher Fehler, gleiches Leid.
Trotzdem Danke für den Tip, Michael.
Atool hab ich mir auch geholt. Da ich aber relativer VBA-Anfänger bin, ist
mir das irgendwie zu kompliziert. Ich komme damit nicht recht zurecht.
Kompliziert iss das nu wirklich nicht. du sollst

a) Da mal den Code vergleichen und
b) versuchen, ob das bei Dir überhaupt läuft.

Tut es das nicht, liegt's irgendwie an Deiner Rechner- oder
Office-Konfiguration

Gruss

Peter
Andreas Dach
2004-01-03 19:08:15 UTC
Permalink
Post by Peter Steimann[MVP Access]
Kompliziert iss das nu wirklich nicht. du sollst
a) Da mal den Code vergleichen und
b) versuchen, ob das bei Dir überhaupt läuft.
Tut es das nicht, liegt's irgendwie an Deiner Rechner- oder
Office-Konfiguration
Hallo Peter,

habe mich jetzt näher mit der Beispieldatenbank Atool beschäftigt. Ich habe
den Code verglichen. Wenn man ihn auf das nötigste reduziert, also ohne
Recordset (ich möchte ja nur einer bestimmten Adresse, die sich nicht
verändert eine Mail senden) sieht der Code abgesehen von den Bezeichnungen
der Variablen gleich aus. Ich habe meine (verkürzte) Atool-Fassung des Codes
noch mal abgetippt.

Private Sub Befehl47_Click()
Dim Mailadr As String
Dim MyolApp As Object
Dim Myitem As Object
Set MyolApp = CreateObject("Outlook.Application")
Mailadr = "***@test.de"
Set Myitem = MyolApp.CreateItem(0)
Myitem.Recipients.Add Mailadr
Myitem.Subject = "Betreff"
Myitem.Body = "Text"
End Sub

Das Ergebnis sieht ebenfalls sehr ähnlich aus wie beim ersten Code:
Laufzeitfehler 429: ... Die Zeile Set MyolApp =
CreateObject("Outlook.Application") will einfach nicht klappen.

Gibt es sonst noch Ideen, woran es liegen könnte? Vielleicht sind es ja doch
die Verweise. Welche Verweise sollte ich denn aktiviert/deaktiviert haben?
Oder gibt es vielleicht eine andere Möglichkeit, aus Access heraus eine
E-Mail zu schreiben? Ich möchte halt den Text der E-Mail im HTML-Formal mit
Daten aus einem Access-Datensatz füllen. Betreff und Empfänger bleiben
gleich.

Viele Grüße
Andi
Peter Steimann[MVP Access]
2004-01-03 22:50:15 UTC
Permalink
Hallo Andreas
Post by Andreas Dach
Post by Peter Steimann[MVP Access]
Kompliziert iss das nu wirklich nicht. du sollst
a) Da mal den Code vergleichen und
b) versuchen, ob das bei Dir überhaupt läuft.
Tut es das nicht, liegt's irgendwie an Deiner Rechner- oder
Office-Konfiguration
Hallo Peter,
habe mich jetzt näher mit der Beispieldatenbank Atool beschäftigt. Ich habe
den Code verglichen.
Läuft der, wenn Du ihn weder reduzierst noch abänderst?
Post by Andreas Dach
Wenn man ihn auf das nötigste reduziert, also ohne
Recordset (ich möchte ja nur einer bestimmten Adresse, die sich nicht
verändert eine Mail senden) sieht der Code abgesehen von den Bezeichnungen
der Variablen gleich aus. Ich habe meine (verkürzte) Atool-Fassung des Codes
noch mal abgetippt.
Private Sub Befehl47_Click()
Dim Mailadr As String
Dim MyolApp As Object
Dim Myitem As Object
Set MyolApp = CreateObject("Outlook.Application")
Set Myitem = MyolApp.CreateItem(0)
Myitem.Recipients.Add Mailadr
Myitem.Subject = "Betreff"
Myitem.Body = "Text"
End Sub
Laufzeitfehler 429: ... Die Zeile Set MyolApp =
CreateObject("Outlook.Application") will einfach nicht klappen.
Gibt es sonst noch Ideen, woran es liegen könnte? Vielleicht sind es ja doch
die Verweise. Welche Verweise sollte ich denn aktiviert/deaktiviert haben?
Schau mal die Verweise in Atool an..da brauchts nur 3. 429 weist auf
eine DLL bzw. eine Bibliothek hin.
Post by Andreas Dach
Oder gibt es vielleicht eine andere Möglichkeit, aus Access heraus eine
E-Mail zu schreiben? Ich möchte halt den Text der E-Mail im HTML-Formal mit
Daten aus einem Access-Datensatz füllen. Betreff und Empfänger bleiben
gleich.
Wenn Atool nicht läuft, könnte es an der Registry bzw. an der
Berechtigung fehlen. Bist Du als Administrator am Rechner eingeloggt?
Versuche ggf mal, einen neuen Benutzer mit Admin-Rechten einzurichten
und schau dann, was Atool macht
--
Gruss

Peter
-----------------------------------------------------------
Mitglied des APP-Profipools www.accessprofipool.de
Zeiterfassungs-Systeme unter www.timesoft.ch
http://mvp.support.microsoft.com/default.aspx?scid=fh;DE;mvpspsteimann
Post by Andreas Dach
Viele Grüße
Andi
Peter Steimann[MVP Access]
2004-01-01 10:58:07 UTC
Permalink
Hallo Andreas
Post by Andreas Dach
Hallo Newsgroup,
ihr könnt mir helfen, dass das Jahr 2004 besser anfängt, wie das Jahr 2003
aufhört!
[..]

Hol Dir mal atool bei www.accesshop.de

Gruss

Peter
Mark Doerbandt
2004-01-03 20:09:13 UTC
Permalink
Hallo, Andreas,
Post by Andreas Dach
Private Sub EMail_Click()
Dim objOutlook As Outlook.Application ' ...
Set objOutlook = CreateObject("Outlook.Application")
Beim Aufruf kommt aber der Laufzeitfehler 429: Objekterstellung
durch ActiveX-Komponente nicht moeglich.
Zur Problemloesung habe ich schon einiges versucht. Angefangen mit
der FAQ 7.9 auf www.donkarl.com - ohne Erfolg. Office reparieren
- ohne Erfolg, komplette Neuinstallation des PC - ohne Erfolg.
Komplettinstallation des PC ohne Erfolg? Kann eigentlich nicht sein,
denn der Code laeuft ja prinzipiell. Erstelle mal eine neue DB und Fuege
in ein leeres Modul lediglich folgende Prozedur ein:

Sub TestOutlook
Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlook = Nothing
End Sub

und fuehre diese aus. Immer noch Dein Fehler?

Was steht in der Registry unter HKEY_CLASSES_ROOT\Outlook.Application
und darunter unter CLSID fuer ein Wert?

Du kannst Outlook normal starten?

Welche SPs hast Du installiert?

Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.
Andreas Dach
2004-01-03 21:37:30 UTC
Permalink
Hallo Mark!
Post by Mark Doerbandt
Komplettinstallation des PC ohne Erfolg? Kann eigentlich nicht sein,
denn der Code laeuft ja prinzipiell. Erstelle mal eine neue DB und Fuege
Sub TestOutlook
Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlook = Nothing
End Sub
und fuehre diese aus. Immer noch Dein Fehler?
Doch, doch. Die Neuinstallation hat wirklich nix gebracht. Den Test hab ich
gemacht. Immer noch der gleiche Fehler!
Post by Mark Doerbandt
Was steht in der Registry unter HKEY_CLASSES_ROOT\Outlook.Application
und darunter unter CLSID fuer ein Wert?
Ich habe da einmal die Outlook.Application, da steht der Wert
{0006F03A-0000-0000-C000-000000000046}drin, da ist aber noch die
Outlook.Application.10. Da steht aber der selbe Wert drin.
Post by Mark Doerbandt
Du kannst Outlook normal starten?
Klar. Ich arbeite regelmäßig mit Outlook. Ohne Probleme!
Post by Mark Doerbandt
Welche SPs hast Du installiert?
WIN XP SP 1, OFFICE XP SP2

Ich hoffe, die Angeben können Dir helfen, meine Probleme zu lösen! Auf jeden
Fall vielen Dank.

Gruß
Andi
Mark Doerbandt
2004-01-03 22:20:26 UTC
Permalink
Hallo, Andreas,
Post by Andreas Dach
Die Neuinstallation hat wirklich nix gebracht.
Hast Du zufaellig das COM Addin "Personal Folders Backup" installiert?
Wenn ja, verzichte mal darauf und teste erneut.

Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.
Andreas Dach
2004-01-04 07:43:25 UTC
Permalink
Post by Mark Doerbandt
Hast Du zufaellig das COM Addin "Personal Folders Backup" installiert?
Wenn ja, verzichte mal darauf und teste erneut.
Hallo Mark,

davon habe ich noch nie gehört. Wenn es sich um ein Access-Addin handelt,
dann nich. Da sieht es ziemlich leer aus = keine Addins!

Gruß
Andi
Mark Doerbandt
2004-01-04 09:58:25 UTC
Permalink
Hallo, Andreas,
Post by Mark Doerbandt
Hast Du zufaellig das COM Addin "Personal Folders Backup"
installiert? Wenn ja, verzichte mal darauf und teste erneut.
davon habe ich noch nie gehoert. Wenn es sich um ein Access-Addin
handelt, dann nich. Da sieht es ziemlich leer aus = keine Addins!
Nein, es ist ein Outlook COM-Addin. Outlook - Extras - Optionen -
Weitere - Erweiterte Optionen - COM-Add-Ins...

Ich habe gestern ein wenig gegoogelt und einige, die auch den 429 beim
Erzeugen eines Outlook-Application-Objektes hatten, haben ihn durch
Abschalten dieses AddIns wegbekommen.

Gruss - Mark
--
Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beiträge senden.
Andreas Dach
2004-01-04 10:16:43 UTC
Permalink
Post by Mark Doerbandt
Nein, es ist ein Outlook COM-Addin. Outlook - Extras - Optionen -
Weitere - Erweiterte Optionen - COM-Add-Ins...
Ich habe gestern ein wenig gegoogelt und einige, die auch den 429 beim
Erzeugen eines Outlook-Application-Objektes hatten, haben ihn durch
Abschalten dieses AddIns wegbekommen.
Hallo Mark,

naja Englisch ist nicht meine Stärke. Ich habe in Outlook das Addin
"Sicherung für persönliche Ordner" installiert. Das hört sich irgendwie
ähnlich an (nachdem Du mich quasi draufgelupft hast...)! Nach dem Entfernen
des Addins - voila - klappt es plötzlich!!!

Mir fällt wirklich ein Stein vom Herzen. Vielen, vielen Dank an Dich, aber
auch an die anderen, die mir bei der Problemlösung geholfen haben, bzw. es
versucht haben.

Einen wunderschönen Sonntag noch.

Andi

Loading...