Home-›Foren-›Outlook-›VBA Outlook 2000: Frage zu \“Cc\“, \“Bcc\“, Verteilerlisten, Wichtigkeiten usw.
- This topic has 5 Antworten, 2 Stimmen, and was last updated 13:52 um 27. April 2004 by lastwebpage.
- AutorBeitrag
- 27. April 2004 um 08:39 #22022UnbekanntParticipant
Hallo,
ich habe Teile meines Ol-Projektes kopiert und wollte Euch mal Folgendes fragen:
1) Betrifft Code 1 (siehe unten). Wie müsste ich den Code schreiben, damit auch Einträge in den entsprechenden ComboBoxen
für Cc, Bcc und Wichtigkeit übernommen werden. (Bisher wird nur die Mail ohne Cc bzw. Bcc versendet).
In Bezug auf die Wichtigkeit wird bei meinem jetzigen Code beim Versand folgende Fehlermeldung angezeigt: Laufzeitfehler 13: Typen unverträglich2) Betrifft Code 1 (siehe unten). Wie kann ich die Prozedur EmailSenden schreiben, damit Mails nicht nur an
gewöhnliche E-mail-Empfänger mit gültiger E-Mail-Adresse, sondern auch an Empfänger in der Verteilerliste versandt werden können.
(habe herausgefunden, dass die Eigenschaft Class dazu dient, bekomme aber bei meiner Schreibweise den Hinweis, dass die Eigenschaft
schreibgeschützt ist). Was also tun?3) Betrifft Code 2 (siehe unten): Wie lässt sich beim Auslesen einer E-Mail im Posteingang (Antwort) die konkrete E-Mail-Adresse auslesen?
Finde keine Eigenschaft hierfür.
Bisher habe ich folgende Darstellung:
—–Ursprüngliche Nachricht—–
Von: Julia Mustermann
Gesendet: 25.04.04 21:45:40
An: Ol2000
Betreff: Re: EinladungMöchte aber folgende Darstellung:
—–Ursprüngliche Nachricht—–
Von: Julia Mustermann [mailto:julia.mustermann@t-online.de]
Gesendet: 25.04.04 21:45:40
An: Ol2000
Betreff: Re: EinladungCode 1:
Private Sub Form_Load()
Me.cmbPrijoritaet.AddItem \“Niedrig\“
Me.cmbPrijoritaet.AddItem \“Normal\“
Me.cmbPrijoritaet.AddItem \“Hoch\“
Me.cmbPrijoritaet.Text = Me.cmbPrijoritaet.List(1)
End SubPrivate Sub cmdSenden_Click()
Dim p As Byte
Dim sPrijoritaet As String
Dim sPrij As String
For p = 0 To 2
sPrijoritaet = Me.cmbPrijoritaet.List(p)
Next p
If sPrijoritaet = \“Niedrig\“ Then
sPrij = \“olImportanceLow\“
ElseIf sPrijoritaet = \“Normal\“ Then
sPrij = \“olImportanceNormal\“
ElseIf sPrijoritaet = \“Hoch\“ Then
sPrij = \“olImportanceHigh\“
End IfDim iAN As Integer, iCC As Integer, iBCC As Integer
For iAN = 0 To cmbAN.ListCount – 1
EmailSenden Me.cmbAN.List(iAN), Me.cmbCC, Me.cmbBCC, Me.txtBetreff, Me.rtNachricht, Me.rtAktuelles, Me.txtLogo, Me.txtNews, Me.txtAnlage, sPrij
Next iAN
MsgBox \“E-Mail(s) wurde(n) erfolgreich versandt\“, vbInformation
Unload Me
End SubPrivate Sub EmailSenden(sAn As String, Optional sCC As String, Optional sBCC As String, Optional sBetreff As String, Optional sNachricht As String, Optional sAktuelles As String, Optional sLogo As String, Optional sNews As String, Optional sDateiAnhang As String, sPr As String)
Dim NachrichtOL As Outlook.MailItem
Set AppOL = GetObject(, \“Outlook.Application\“)
Set NameSpaceOL = AppOL.GetNamespace(\“MAPI\“)
Set NachrichtOL = AppOL.CreateItem(olMailItem)
With NachrichtOL
.Recipients.Add sAn
.CC = sCC
.BCC = sBCC
.Subject = sBetreff
.Class = olAddressEntries
.Importance = sPr
.Send
End With
End SubCode 2: (Ausschnitt)
For Each Element In ActiveExplorer.Selection
If TypeOf Element Is MailItem Then
Set Email = Element
Else
Exit For
End If
Next
\’Infos vom Kopf der E-Mail auslesen
Me.Caption = Email.Subject & \“ Antwortformular: Beispiel GmbH, Beispielstadt\“
sAWBetreff = \“Re: \“ & Email.Subject
txtBetreff = sAWBetreff
sAWEmpfaenger = Email.SenderName
cmbAN = sAWEmpfaengersInfo = \“—–Ursprüngliche Nachricht—–\“ & vbCrLf
sInfo = sInfo & \“Von: \“ & Email.SenderName & vbCrLf
sInfo = sInfo & \“Gesendet: \“ & Email.ReceivedTime & vbCrLf
sInfo = sInfo & \“Re: \“ & Email.To & vbCrLf
sInfo = sInfo & \“Betreff: \“ & Email.Subject & vbCrLf & vbCrLf
sInfo = sInfo & Email.Body
rtNachricht = sDateiinhaltNAntw & vbCrLf & sInfoFür Eure Bemühungen/Tipps bedanke ich mich im Voraus.
mfg
BenC27. April 2004 um 10:16 #71826lastwebpageModeratorHallo,
äh ich verwende 0L2003 deswegen bin ich mir nicht sicher ob folgende Objekte
zutreffen:
zu BB,CC,Wichtigkeit:Set myOlApp = CreateObject(\“Outlook.Application\“)
Set myItem = myOlApp.CreateItem(olMailItem)
Set myRecipient = myItem.Recipients.Add (\“Jon Grande\“)
myRecipient.Type = olCCAlso Wert \“addieren\“ dann Typ festlegen.
zu Verteilerliste:
Das Object AdressEntry enthält die Adresse jedes einzelnen Mitglieds der Verteilerliste.
Also eine Schleife könnte hier helfen.zu EMail Auslesen:
Set myolApp = CreateObject(\“Outlook.Application\“)
Set myNamespace = myolApp.GetNamespace(\“MAPI\“)
Set incommingMails= myNamespace.GetDefaultFolder(olFolderInbox)
Set MyMail=incommingMails.GetNext (Anmerkung siehe unten)
if(MyMail.Class=olMail
MsgBox MyMail.SenderNameDie Sache mit MyMail solltest du in eine GetNext Schleife schreiben.
Na ja vielleicht hats irgendwas geholfen,
mfg
Peter27. April 2004 um 11:19 #71833UnbekanntParticipantHallo,
danke für die biosherigen Antworten.
Du schreibst:
Set myOlApp = CreateObject(\“Outlook.Application\“)
Set myItem = myOlApp.CreateItem(olMailItem)
Set myRecipient = myItem.Recipients.Add (\“Jon Grande\“)
myRecipient.Type = olCC
Frage:
Wie schreibe ich die Zeile Set myRecipient = myItem.Recipients.Add (\“Jon Grande\“), wenn ich statt eines festen Adressaten eine Variable habe.Könntest Du mir sagen, wie ich hier eine Schleife einbaue. Bin noch VBA-Anfänger. Wie könnte ich nach den einzelnen E-mails suchen?
zu Verteilerliste:
Das Object AdressEntry enthält die Adresse jedes einzelnen Mitglieds der Verteilerliste.
Also eine Schleife könnte hier helfen.Danke für alle Tipps.
mfg
BenC27. April 2004 um 11:31 #71835lastwebpageModeratorHallo,
äh
myItem.Recipients.Add (XYZVariable)????äh nach welchen E-Mails willst du \“suchen\“ di in einer Verteilerliste???
mfg
Peter27. April 2004 um 12:34 #71839UnbekanntParticipantHallo,
da man ja nicht direkt an die Verteilerliste senden kann, müsste ich irgendwie (glaube ich zumeindest) die einzelnen Mails da herauslesen und dann in eine Variable speichern. Kannst Du mir einen Tipp geben? Danke vielmals.
mfg
BenC27. April 2004 um 13:52 #71844lastwebpageModeratorHallo,
äh ein OL mit funktionierendem VB Editor UND funktionierender Hilfedatei hast du doch?ALSO:
Set myOlApp = CreateObject(\“Outlook.Application\“)
Set myNameSpace = myOlApp.GetNameSpace(\“MAPI\“)
Set myAddressList = myNameSpace.AddressLists(\“Kontakte\“)
Set myAddressListe = myAddressList.AddressEntries(\“Verteilerlist\“)
Set myAdresse=myAdressListe.GetFirst
Do While Not myAdresse Is Nothing
MsgBox myAdresse.SenderName
myAdresse.GetNext
Loop - AutorBeitrag
Das Thema ‘VBA Outlook 2000: Frage zu \“Cc\“, \“Bcc\“, Verteilerlisten, Wichtigkeiten usw.’ ist für neue Antworten geschlossen.