Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Serienmail - generell CC - Empfänger ergänzen

Serienmail - generell CC - Empfänger ergänzen
04.03.2009 21:18:10
Stefan
Hallo Excel-Freunde
ich erstelle mittels eines VBA-Codes ein Serienmail an verschiedenen Empfänger
(der Ursprungscode kommt von Ramses :) )
Dabei steht in Spalte jeweils ab Zeile 2
A = email soll verschickt werden x = ja Leer = Nicht verschicken
B = email-Adresse des Empfängers
C = Betreff-Text individuell
D = Mail-Text individuell
E = Protokollierung Wann von Wem die Mail verschickt wurde
F = Leer-Spalte
G = Datei-Link als Anlage
Was ist erreichen möchte
jedes Mail soll generell an eine bestimme email-Adresse als CC geschickt werden
Wie muss ich den Code anpassen, daß bei jeder Mail eine bestimmte email-Adresse ein CC erhält
mein Versuch mit
.cc = "xxx@yyy.de" als Mailempfänger nach der zeile
___ .To = Cells(i, 2) '"irgendwer@irgendein-provider.de" SPALTE B
funktioniert leider nicht
Kann mir jemand weiterhelfen ?
Freu mich auf eine Antwort
Besten Gruß
Stefan
hier der Code:

Sub Excel_Serienmail_mit_mehreren_Anlagen_mit_Fehlermeldung_via_Outlook_Senden()
' von RAMSES  14.01.2003
'jeweils ab Zeile 2
'Spalte A = x oder leer  (x wenn email verschickt werden soll
'Spalte B = Empfängeremail-Adresse
'Spalte C = Betrefftext je Empfänger
'Spalte D = Mailtext je Empfänger
'Spalte E = nach Versand Eintrag von Datum/Uhrzeit NT-Username und Computername
'Spalte F = Leer
'Spalte G = Verzeichnis+Dateiname  (Max 10 Anlagen)
'Variablendefinition
Dim fs As Object, F As Object
Dim OutApp As Object, mail As Object
Dim i As Integer, y As Integer, Msg As Integer
Dim Nachricht As Variant
Dim AWS As String
Dim AnzEmpfänger As Integer
'Variablen füllen
'Filesystemobjekt erstellen
Set fs = CreateObject("Scripting.FileSystemObject")
'Hier die Anzahl Empfänger definieren
AnzEmpfänger = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'1. Fehlerprüfung
'Prüfen ob alle Inhalte vorhanden sind
'Wenn nicht wird das Makro abgebrochen
For i = 2 To AnzEmpfänger
If Cells(i, 2) = "" Then
Msg = MsgBox("Unvollständige Angaben beim Empfänger in Zeile " & i, vbCritical +  _
vbOKOnly, "Abbruch")
Exit Sub
End If
Next i
'2. Fehlerprüfung
'Mit dem FilesystemObjekt wird zuerst die Existenz der Dateien geprüft. '
'Wenn eine nicht existiert wird das Makro abgebrochen
'Die Links auf die Anlagen liegen im Bereich G2 : G11
For y = 2 To ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
'Wenn eine Zelle leer ist, wird aus der Schleife ausgestiegen
'ohne weitere Fehlerprüfung
If Cells(y, 7) = "" Then Exit For
If fs.fileexists(Cells(y, 7)) = False Then
Msg = MsgBox("Die Datei: " & Cells(y, 7) & " in G" & y & " exitstiert nicht !" &  _
vbCrLf & "Der Sendevorgang an; " & Cells(i, 2) & " wird abgebrochen!", vbCritical + vbOKOnly, "Dateifehler")
Exit Sub
End If
Next y
'Sendevorgang einleiten
For i = 2 To AnzEmpfänger
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
On Error GoTo next_email
'Hier wird die zelle i in Spalte A auf den Wert X geprüft
'UCASE deshalb um Schreibfehler von Gross und klein zu vermeiden
If UCase(Cells(i, 1).Value) = "X" Then
'Trifft die Bedingung X zu wird der Mailversand eingeleitet
With Nachricht
.To = Cells(i, 2)       '"irgendwer@irgendein-provider.de"      SPALTE B
.Subject = Cells(i, 3)  '"Betreffzeile Header"                  SPALTE C
.Body = Cells(i, 4)     '"Sendetext"                            SPALTE D
'For y = 2 To 11
For y = 2 To ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
AWS = Cells(y, 7)
'Wenn die Zelle / Variable leer ist wird diese Schleife abgebrochen
If AWS = "" Then Exit For
.Attachments.Add AWS
Next y
'Hier wird die Mail zuerst angezeigt
'.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Variablen zurücksetzen
Set OutApp = Nothing        'CreateObject("Outlook.Application")
Set Nachricht = Nothing     'OutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:01"))
'versanddatum /-uhrzeit /-userid und computername in spalte e eintragen
Worksheets(ActiveSheet.Name).Cells(i, 5).Value = Date & " / " & Time & _
" / " & Environ("username") & " " & Environ("computername")
next_email:
End If
'Bedingung abgeschlossen
Next i
End Sub


16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Datei als Beispiel
04.03.2009 22:02:51
Josef
Hallo Stefan,
warum soll das niht funktionieren?
With Nachricht
  .To = Cells(i, 2) '"irgendwer@irgendein-provider.de" SPALTE B
  .CC = "try.to@guess.it"
  .Subject = Cells(i, 3) '"Betreffzeile Header" SPALTE C
  .Body = Cells(i, 4) '"Sendetext" SPALTE D
  'For y = 2 To 11
  For y = 2 To ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Row
    AWS = Cells(y, 7)
    'Wenn die Zelle / Variable leer ist wird diese Schleife abgebrochen
    If AWS = "" Then Exit For
    .Attachments.Add AWS
  Next y
  'Hier wird die Mail zuerst angezeigt
  '.Display
  'Hier wird die Mail gleich in den Postausgang gelegt
  .Send
End With

Gruß Sepp

Anzeige
AW: Excel-Datei als Beispiel
04.03.2009 22:26:50
Stefan
Hey Josef
genau das hab ich probiert
nur kommt das Mail
wenn ich als mail adresse in Spalte B meine Adresse eingebe
und zusätzlich als .cc erfasse
nicht an
?
Versteh das nicht
Gruss Stefan
AW: Excel-Datei als Beispiel
04.03.2009 22:31:57
Josef
Hallo Stefan,
zeig es doch mal genau so wie du es gemacht hast, das wird sonst ein Ratespiel.
Gruß Sepp

AW: Excel-Datei als Beispiel
04.03.2009 22:41:16
Stefan
Hey Josef
Ratespiel muss ein Ende haben ;)
https://www.herber.de/bbs/user/59989.xls
.cc als Beispiel eingefügt
Adressen jeweils anpassen ! ;)
Gruss und Dank für eure Hilfe
Stefan
Anzeige
AW: Excel-Datei als Beispiel
04.03.2009 22:49:19
Josef
Hallo Stefan,
kann es sein das du die "" vergssenhast?
.CC = "xxx@yyy.de" 'GRUNDSÄTZLICHE CC für jede MAIL

Gruß Sepp

AW: Excel-Datei als Beispiel
04.03.2009 22:59:07
Stefan
Hey Sepp
ich "denke" ich hab genau das gemacht - inkl der " "
ich werde das morgen am Arbeitsplatz nochmal probieren
Wer weiss - ich ob was falsch erfasst hab
Dank dir vorab für die Hilfe
Werde morgen ein Feedback geben :)
Besten Gruß
Stefan
Anzeige
AW: Excel-Datei als Beispiel
04.03.2009 23:03:37
Ramses
Hallo
Also das in der Datei genannte "Mail.CC" kann nicht funktioieren.
Ich habe das gerade getestet, ... und es tut wenn man die Adresse korrekt einträgt
Gruss Rainer
AW: Excel-Datei als Beispiel
04.03.2009 23:07:32
Stefan
Hey Rainer
Dank Dir sehr
ich werd es morgen am Arbeitsplatz "probieren"
und geb dann ein Feedback
... es ist spät heute und ich bin seit 5 Uhr wach ;)
bis Morgen --- hoffe OK !?! :)
besten Gruß
Stefan
AW: Excel-Datei als Beispiel
05.03.2009 19:03:24
Stefan
Hallo Rainer
hat perfekt funktioniert :)
Dank für Deine Hilfe
Besten Gruß
Stefan
AW: Excel-Datei als Beispiel
04.03.2009 23:04:38
Josef
Hallo nochmal,
also bei mir funktioniert es tadellos, wie bei einem Code von Ramses auch nicht anders zu erwarten.
Gruß Sepp

Anzeige
AW: Excel-Datei als Beispiel
05.03.2009 19:10:16
Stefan
Hallo Sepp
hat jetzt auch einwandfrei funktioniert.
Es gab das Problem, wenn ich z.b. meine email-adresse in dem Excel-sheet
erfasst habe und GLEICHZEITIG im vba-code unter .cc
Dann wurde das Mail nur 1x verschickt.
Hatte das so "doppelt" erfasst, um den Code zu testen.
Im "Life" war das doppelte nicht erforderlich
Dank Dir und Ramses für Eure Hilfe
Besten Gruß
Stefan
AW: Excel-Datei als Beispiel
04.03.2009 22:06:45
Ramses
Hallo
Warum sollte
.cc = "Demo@xxx.de"
nicht funktionieren ?
WAS funktioniert denn nicht ?
Gruss Rainer
AW: Excel-Datei als Beispiel
04.03.2009 22:30:09
Stefan
Hey Ramses
:) ... die Basis war DEIN Code
.cc ...
hat leider nicht funktioniert
Wenn ich in Spalte B meine email-Adresse erfasse
und als .cc zusätzlich dieselbe Adresse nochmals
kommt das Mail nur 1x an
mmmhhh ...
Gruss Stefan
Anzeige
2mal ist nur 1mal
05.03.2009 10:15:31
Renee
Hallo Stefan,
Wenn du die gleiche E-Mail Adresse in .To und .CC angibst, wirst du das Mail nur eimal bekommen. Das ist so. Alle mir bekannten E-Mail Systeme optimieren die Empfänger auf Eindeutigkeit.
GreetZ Renée
AW: 2mal ist nur 1mal
05.03.2009 19:18:39
Stefan
Hey Renee
ich hab Deine Antwort erst jetzt gerade gelesen :O
GENAU DAS ist es gewesen - hatte zum Test die email-Adresse doppelt erfasst !
Na, jetzt klappt es ja wunderbar
DAnk auch Dir sehr ;)
besten Gruß
STefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen