Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Sicherheitshinweis ---> für registrierte Mitglieder <-
Outlook 2003 Emails per VBA Script automatisch weiterleiten
Gehe zu Seite Zurück  1, 2
zurück: If CreateObject---strfullpath exist aufsteigend nummerieren. weiter: Mails per VBA weiterleiten und Betreff ändern Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
woodart
C# Hobby-Programmierer


Verfasst am:
26. Okt 2012, 09:57
Rufname:
Wohnort: Brühl (Baden)

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Hallo Leute,

Ich habe das oben genannte script mal um zwei Zeilen erweitert. Das ganze sieht dann so aus:

//Anfang Sctipt

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)

Dim objMail_In As Outlook.MailItem
Dim objMail_Out As Outlook.MailItem
Dim objMail_In As Outlook.MeetingItem
Dim objMail_Out As Outlook.MeetingItem
Dim aryEntryIDs() As String
Dim lngCount As Long

'jedes neue MailItem durchgehen
aryEntryIDs = Split(EntryIDCollection, ",")
For lngCount = 0 To UBound(aryEntryIDs)

Set objMail_In = Application.Session.GetItemFromID(aryEntryIDs(lngCount))
Set objMail_Out = objMail_In.Forward

With objMail_Out
.To = "jan.bruegge.lvg@gmail.com"
.Subject = "weitergeleitet: " & objMail_In.Subject
.Send
End With

Next lngCount

End Sub

//Ende Script

Leider funktioniert die Weiterleitung von Besprechungsanfragen und eingebettetem Kalender im Body der Mail immer noch nicht. Normale mails im HTML Format gehen (auch mit eingefügten Bildern oder ähnlichem).
Ich benutze Office 2007 mit Outlook über Exchange. VBA und Macros sind erlaubt.
Fehlermeldung beim Empfang von mails mit Besprechungsanfrage:
"Fehler 13 - Typen unverträglich"

Hat jemand noch eine Idee, wie man den Code weiter modifizieren könnte ?
Michael Bauer
MVP Outlook


Verfasst am:
26. Okt 2012, 10:16
Rufname:
Wohnort: Vollersode


AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Hallo,

Variablen dürfen nicht mehrfach deklariert werden. Wenn objMail_In ein MailItem sein soll, kann es nicht gleichzeitig ein MeetingItem sein.

Wenn der Typ egal ist, deklariere einfach As Object. Die Variable kann jeden Objekttypen aufnehmen.

_________________
Michael Bauer
Tools für Microsoft Outlook
woodart
C# Hobby-Programmierer


Verfasst am:
26. Okt 2012, 10:39
Rufname:
Wohnort: Brühl (Baden)

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Danke für die schnelle Hilfe,

Aber:
Wenn ich As Object deklariere erhalte ich die Fehlermeldung "Fehler 438 - Objekte werden nicht unterstützt. Rolling Eyes

Code:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)

Dim objMail_In As Object
Dim objMail_Out As Object
Dim aryEntryIDs() As String
Dim lngCount As Long

Restcode wie gehabt.

Vielleicht sollte ich " As Outlook.OlObjectClass" versuchen. Oder meintest du As Mail.Object ?


Gruß Jan
Michael Bauer
MVP Outlook


Verfasst am:
26. Okt 2012, 13:59
Rufname:
Wohnort: Vollersode

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Der Text zu Fehler 438 lautet völlig anders. Der Fehlertext zusammen mit der beim Auftreten hervogehobenen Zeile verraten Dir, dass bei bestimmten Objekttypen die To-Eigenschaft nicht untersützt wird.

Zwei Objekttypen hast Du, MailItem und MeetingItem. Jetzt schaust Du in den Objektkatalog (f2), wechselst von <Alle Bibliotheken> zu Outlook, wählst links einmal das MailItem, einmal das MeetingItem und siehst nach, welches der beiden Typen keine To-Eigenschaft unterstützt und deswegen den Fehler auslöst.

Eine Alternative, Adressaten hinzuzufügen, geht über Recipients.Add. Wenn Du nicht weißt, wie das geht, wählst Du wieder links das Objekt, rechts die Funktion und drückst f1 für Hilfe.

_________________
Michael Bauer
Tools für Microsoft Outlook
Gast



Verfasst am:
26. Okt 2012, 15:43
Rufname:


AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Jetzt habe ich wieder nur "MailItem" eingefügt und der Fehler 13 "Typen unverträglich" taucht wieder auf.

folgende Zeile war hinterlegt:
Set objMail_In = Application.Session.GetItemFromID(aryEntryIDs(lngCount))

Irgendwie klappt es noch nicht.
Ich habe die Funktionen mit F2 geprüft und nur die MailItem geht mit "To". Daher auch die Wegnahme von MeetingItem.

Ich habe mich wohl fest gefahren.


Ich werde mal am Wochenende ein wenig rumprobieren. Irgendwie muss ja das MeetingItem auch weiter geleitet werden oder "die Typen verträglich" gemacht werden können.

Trotzdem erstmal vielen Dank für die Hilfe.

Gruß
Jan
Michael Bauer
MVP Outlook


Verfasst am:
27. Okt 2012, 14:09
Rufname:
Wohnort: Vollersode

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Was passiert denn in Deinem Posteingang? Du erhältst Emails (MailItem) und Besprechungsanfragen (MeetingItem). Du brauchst also eine Variable, die beide Typen aufnehmen kann; deswegen die Deklaration As Object.

Wenn es eine Email ist, könntest Du den neuen Adressaten in die To-Eigenschaft schreiben. Wenn es aber ein MeetingItem ist, geht das nicht. Verwende deswegen Recipients.Add, weil das für beide Elementtypen funktioniert.

_________________
Michael Bauer
Tools für Microsoft Outlook
woodart
C# Hobby-Programmierer


Verfasst am:
29. Okt 2012, 13:53
Rufname:
Wohnort: Brühl (Baden)

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2007

Hallo Michael,

ich hoffe, dass ich das "Receipants.Add" an die richtige Stelle im Code gesetzt habe. Ich konnte es bisher noch nicht überprüfen, weil ich noch keine weiteren Besprechungsanfragen reinbekommen habe.

Hier der geänderte Code:

'jedes neue MailItem durchgehen
aryEntryIDs = Split(EntryIDCollection, ",")
For lngCount = 0 To UBound(aryEntryIDs)
Recipients.Add(jan.bruegge.lvg@gmail.com)

Gruß Jan

Nachtrag: Die Schrift ist im Editor wirklich rot (soll heißen: Fehler ?)
Michael Bauer
MVP Outlook


Verfasst am:
29. Okt 2012, 15:35
Rufname:
Wohnort: Vollersode

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Ja, rot heißt Fehler. Den Lösungsweg hatte ich auch schon geschrieben.
_________________
Michael Bauer
Tools für Microsoft Outlook
Anton12346
Im Profil kannst Du frei den Rang ändern


Verfasst am:
24. März 2014, 16:05
Rufname:

Re: AW: Outlook 2003 Emails per VBA Script automatisch weite - Re: AW: Outlook 2003 Emails per VBA Script automatisch weite

Nach oben
       Version: Office 2003

AndyGrothe - 24. Jul 2007, 08:11 hat folgendes geschrieben:
copiere folgenden code in "DieseOutlookSitzung" unter <Extras> - <Makro> - <VisualBasicEditor>

Code:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
   
    Dim objMail_In As Outlook.MailItem
    Dim objMail_Out As Outlook.MailItem
    Dim aryEntryIDs() As String
    Dim lngCount As Long
   
    'jedes neue MailItem durchgehen
    aryEntryIDs = Split(EntryIDCollection, ",")
    For lngCount = 0 To UBound(aryEntryIDs)
   
        Set objMail_In = Application.Session.GetItemFromID(aryEntryIDs(lngCount))
        Set objMail_Out = objMail_In.Forward
       
        With objMail_Out
            .To = "AndyGrothe@P-Serv.de"
            .Subject = "weitergeleitet: " & objMail_In.Subject
            .Send
        End With
       
    Next lngCount
   
End Sub


wenn das Ereigniss "Application_NewMailEx" beim eingang neuer eMails nicht ausgelöst wird, kann es an den sicherheitseinstellungen liegen. unter <Extras> - <Makro> - <Sicherheit> kannst du das einstellen.

viel spass


Vielen Dank AndyGrothe für den VBA Code, der hilft mir in meinem Fall auch sehr. Nur ich habe eine Frage, gibt es auch die Möglichkeit, dass die Email nicht "offiziell" weitergeleitet wird, sondern nur kopiert wird und dann weitergeleitet wird. Soll heißen, die Weiterleitung soll nicht im Ordner "Gesendet Elemente" sichtbar sein.
Als Laie würde ich sagen, die eingegange Email wird dupliziert und an eine andere Adresse durchgeleitet. Ich habe Outlook 2013, denke aber es macht vom VBA Script keinen Unterschied,oder?

Freue mich sehr auf Deine oder Eure Rückmeldung.

VG
Anton
Anton12346
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. März 2014, 19:49
Rufname:

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Hallo Liebe Outlook Gemeind,

Hat vielleicht jemand noch einen Lösungsvorschlag, wie ich per VBA statt nur eine WEiterleitung, quasi eine Kopie der eingegangenen Mail an eine externe Email Adresse weiterschicken kann. Wie gesagt, es soll keine Mail im Ordner "Gesendete Mail" erscheinen.

Wäre über eine Hilfe seeehr dankbar.

Herzlichen Grüße und vielen Dank vorab
Anton
Michael Bauer
MVP Outlook


Verfasst am:
06. Apr 2014, 22:02
Rufname:
Wohnort: Vollersode

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Hallo,

setze einfach die DeleteAfterSubmit-Eigenschaft der Email auf True.

_________________
Michael Bauer
Tools für Microsoft Outlook
Anton12346
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Apr 2014, 14:06
Rufname:

AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Hallo Herr Bauer,

vielen herzlichen Dank für die Antwort. Muss ich diese irgendwo in den folgenden VBA Code miteinbauen oder geht das andere?


Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)

Dim objMail_In As Outlook.MailItem
Dim objMail_Out As Outlook.MailItem
Dim aryEntryIDs() As String
Dim lngCount As Long

'jedes neue MailItem durchgehen
aryEntryIDs = Split(EntryIDCollection, ",")
For lngCount = 0 To UBound(aryEntryIDs)

Set objMail_In = Application.Session.GetItemFromID(aryEntryIDs(lngCount))
Set objMail_Out = objMail_In.Forward

With objMail_Out
.To = "AndyGrothe@P-Serv.de"
.Subject = "weitergeleitet: " & objMail_In.Subject
.Send
End With

Next lngCount

End Sub
Michael Bauer
MVP Outlook


Verfasst am:
07. Apr 2014, 14:24
Rufname:
Wohnort: Vollersode


AW: Outlook 2003 Emails per VBA Script automatisch weiterlei - AW: Outlook 2003 Emails per VBA Script automatisch weiterlei

Nach oben
       Version: Office 2003

Ja, nach dem Setzen der Objektvariable (für die Email) und vorm Senden.
_________________
Michael Bauer
Tools für Microsoft Outlook
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2
Diese Seite Freunden empfehlen

Seite 2 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Bekanntmachung: Outlook Mail: Bitte Versionsnummer von Outlook mit angeben !! 1 domin8tor 9436 06. März 2004, 12:42
domin8tor Bitte Versionsnummer von  Outlook mit angeben !!
Keine neuen Beiträge Outlook Mail: Sicherheitseinstellung von outlook verstellen 2 Philippe Sch. 3474 15. Mai 2004, 18:24
Gast Sicherheitseinstellung von outlook verstellen
Keine neuen Beiträge Outlook Mail: Outl.2003 epf-Datei aus Outl. XP importieren wird abgelehnt 2 kraekers 3213 23. Apr 2004, 09:52
Gast Outl.2003 epf-Datei aus Outl. XP importieren wird abgelehnt
Keine neuen Beiträge Outlook Mail: Senden/Empfangen bei Outlook 2003 6 DerMattze 5630 24. März 2004, 23:30
fdsa Senden/Empfangen bei Outlook 2003
Keine neuen Beiträge Outlook Mail: Automatische Verbindung beim Starten von Outlook 2003??? 1 Mulay 5480 18. März 2004, 10:08
domin8tor Automatische Verbindung beim Starten von Outlook 2003???
Keine neuen Beiträge Outlook Mail: Autovervollständigung der E-Mailadresse unter Outlook 2000 3 bendiel 7979 15. März 2004, 14:22
domin8tor Autovervollständigung der E-Mailadresse unter Outlook 2000
Keine neuen Beiträge Outlook Mail: Automatischer Versand mit Outlook oder Outlook Express 1 Otto 3564 10. März 2004, 09:51
domin8tor Automatischer Versand mit Outlook oder Outlook Express
Keine neuen Beiträge Outlook Mail: Outlook Heute - Posteingang 3 Philo_ 3131 09. März 2004, 18:56
domin8tor Outlook Heute - Posteingang
Keine neuen Beiträge Outlook Mail: E-mails kann nicht gelöscht werden 1 Daywalker 2001 787 08. März 2004, 11:08
domin8tor E-mails kann nicht gelöscht werden
Keine neuen Beiträge Outlook Mail: Konten ein- / ausschalten bei Outlook 2003 3 rpdrechsel 3018 03. März 2004, 17:46
domin8tor Konten ein- / ausschalten bei Outlook 2003
Keine neuen Beiträge Outlook Mail: Kann keine Emails empfangen, aber keine Fehlermeldung 9 Kissy 2203 03. März 2004, 16:09
domin8tor Kann keine Emails empfangen, aber keine Fehlermeldung
Keine neuen Beiträge Outlook Mail: Outlook beendet Verbindung wenn ich email lesen will 1 chrisale 889 01. März 2004, 20:57
domin8tor Outlook beendet Verbindung wenn ich email lesen will
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft-Excel Diagramme