AW: Arbeitsblatt ohne Code etc. Mailen
09.09.2007 08:18:27
Lemmi
Hallo zusammen,
anbei die richtige Datei! Sorry!
Die Datei https://www.herber.de/bbs/user/45810.xls wurde aus Datenschutzgründen gelöscht
Sub BlattMailen()
Dim AktBlatt As String
Dim Pfad As String
Dim AktDatei As String
Dim Dateiname As String
AktBlatt = ActiveSheet.Name
AktDatei = ActiveWorkbook.Name
Pfad = ActiveWorkbook.Path
' TEMP-Dateiname festlegen
Dateiname = Pfad & Application.PathSeparator & AktBlatt & ".xls"
Sheets(AktBlatt).Cells.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B3").Select
ActiveSheet.Name = AktBlatt
Application.CutCopyMode = False
' Datei speichern
ActiveWorkbook.SaveAs _
Filename:=Dateiname, _
FileFormat:=xlNormal, _
Password:="", _
WriteResPassword:="", _
ReadOnlyRecommended:=False, _
CreateBackup:=False
' Datei versenden
ActiveWorkbook.SendMail ""
' TEMP-Datei schließen und löschen
ActiveWorkbook.Close False
'If MsgBox("Temporäre Datei " & Dateiname & " löschen?", vbYesNo) = vbYes Then
Kill Dateiname
'End If
End Sub
Der Zweite Code
' Serienbriefe kann jeder :-) Warum nicht eine Serien-EMail verschicken?
' Hat man die EMail-Adressen aller Empfänger in einer Excel-Tabelle
' eingetragen, ist das gar kein Problem. Falls gewünscht, kann sogar
' eine Anlage beigefügt werden:
Sub Serien_EMail_mit_Anhang()
Dim outObj As Object
Dim Mail As Object
Dim WS As Worksheet
Dim Zeile As Integer
Dim SpalteMailadressen As Integer
Set WS = ActiveSheet
' Automatisch Spalte ermitteln, in der die Mailadressen stehen:
SpalteMailadressen = WS.Range("2:2").Find("@", LookIn:=xlValues).Column
' Alle Zeilen abarbeiten
For Zeile = 2 To WS.UsedRange.Rows.Count
Set outObj = CreateObject("Outlook.Application")
Set Mail = outObj.CreateItem(0)
With Mail
' Betreff
.Subject = "Information"
' Text in der Mail
.Body = "Sehr geehrte Damen und Herren," & Chr(13) & Chr(13) & _
"dies ist eine automatisch generierte E-Mail." & Chr(13) & _
Chr(13) & "Viele Grüße " & Chr(13) & _
Environ("Username") & Chr(13)
' Empfängeradresse aus ermittelter Spalte
.To = WS.Cells(Zeile, SpalteMailadressen).Value
.CC = "" ' Auf Wunsch: Kopieempfänger
.BCC = "" ' Auf Wunsch: Blanko-Kopieempfänger
' Datei-Anhang:
.Attachments.Add "C:\Eigene Dateien\EgberLamminger"
End With
Mail.Send ' Mail wird sofort verschickt
' Mail.Display ' Alternativ: Mail erstmal anzeigen
Set Mail = Nothing
Set outObj = Nothing
Next
End Sub
Gruß
Lemmi