DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Merhaba,
ekteki gibi bir tablodaki verileri a sutünündaki ilgili mail adreslerine nasıl mail attırabilirim? Yardımcı olabilir misiniz?
şimdiden teşekkürler
Sub MailGonder()
Dim Source As Range
Dim OutApp As Object
Dim OutMail As Object
Dim S1 As Worksheet
Set S1 = ActiveSheet
For i = 3 To [A65536].End(3).Row
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set Source = Nothing
On Error Resume Next
Set Source = Range("B2:E8").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = "Bu kısma göndereceğiniz mailde" & vbNewLine & vbNewLine & _
"Tablo üzerinde çıkmasını istediğiniz bir yazı" & vbNewLine & _
"yazabilirsiniz" & vbNewLine & _
"" & vbNewLine & _
""
On Error Resume Next
With OutMail
.To = S1.Cells(i, "A")
.CC = ""
.BCC = ""
.Subject = "Bu kısma Mail Konusunu yazabilirsiniz "
.HTMLBody = strbody & RangetoHTML(Source)
.Send
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
Next
End Sub
Function RangetoHTML(Source As Range)
Dim fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook
TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
Source.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=TempFile, _
Sheet:=TempWB.Sheets(1).Name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.ReadAll
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
"align=left x:publishsource=")
TempWB.Close SaveChanges:=False
Kill TempFile
Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing
End Function