OUTLOOK kullanılarak EXCEL den mail atmak ile ilgili.. YARDIM...

Katılım
25 Ocak 2012
Mesajlar
7
Excel Vers. ve Dili
excel 10 tr
Merhaba arkadaşlar,

Sizden bir yardım istiyecektim elimde ekteki gibi bir tablo var.Hepsine sayı verdim ve yaklaşık 160 personele boyle ayrı ayrı mail atmam lazım ben kolaylık olsun diye sayı verdim hepsine.Mesela ekteki 154 yazan kişinin bilgileri,bu şekilde sayılar değiştikçe o sayıya denk gelen arkadaşın butun bilgileri geliyor.MAİL KİME yazan yerde kişinin mail i ve bazı arkadaşların amirlerinede bilgi vermem gerekiyor onların mailleride MAİL BİLGİ kısmında yer alıcak.Sadece mavi boyalı kısmı(alttaki cevapta excel dosyasında gözüküyor.) mail atmam lazım bir de.Bu şekilde bi macro lazım bana.Mail göderimini outlook üzerinden yapıcam.Yardım için şimdiden teşekkürler.
 

Ekli dosyalar

Son düzenleme:
Katılım
25 Ocak 2012
Mesajlar
7
Excel Vers. ve Dili
excel 10 tr
biraz acemiyim işte yolladığım konu üzerinden yardımcı olursanız gercekten cok sevinirim :(
 
Katılım
25 Ocak 2012
Mesajlar
7
Excel Vers. ve Dili
excel 10 tr
Arkadaşlar gerçekten yardıma ihtiyacım var müsait arkadaşların yardımını bekliyorum teşekkürler...
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,738
Excel Vers. ve Dili
Excel 2019 Türkçe
Çok yoğun olduğum için bu tip çalışmalarla fazla ilgilenemiyorum. Ama daha önce buna benzer bir uygulama yapmıştım. Siz buna bakarak, kendinize uyarlamaya çalışın.
Sayfa1 içine eklenecek kodlar;
Kod:
Private Sub CommandButton1_Click()
Gonder
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
If Target = Empty Then Range("b" & Target.Row & ":" & "j" & Target.Row) = "": Exit Sub

Cells(Target.Row, 2) = WorksheetFunction.VLookup(Cells(Target.Row, 1), Sayfa3.Columns("a:b"), 2, False)
Application.EnableEvents = True

End Sub
Module içine eklenecek kodlar;
Kod:
Dim Adres As String
Sub Mail_Selection_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2010
    Dim rng As Range
    Dim OutApp As Object
    Dim OutMail As Object

    Set rng = Nothing
    On Error Resume Next
    'Only the visible cells in the selection
    'Set rng = Selection.SpecialCells(xlCellTypeVisible)
    Set rng = Sayfa2.[a1:c21]
    'You can also use a range if you want
    'Set rng = Sheets("YourSheet").Range("D4:D12").SpecialCells(xlCellTypeVisible)
    On Error GoTo 0

    If rng Is Nothing Then
        MsgBox "The selection is not a range or the sheet is protected" & _
               vbNewLine & "please correct and try again.", vbOKOnly
        Exit Sub
    End If

    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
        .To = Adres
        .CC = ""
        .BCC = ""
        .Subject = "Kesintilerinize Ait Bilgilerdir."
        .HTMLBody = RangetoHTML(rng)
        .Send   'or use .Display
'        .Display
    End With
    On Error GoTo 0

    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
Function RangetoHTML(rng As Range)
' Changed by Ron de Bruin 28-Oct-2006
' Working in Office 2000-2010
    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"
 
    'Copy the range and create a new workbook to past the data in
    rng.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
 
    'Publish the sheet to a htm file
    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
 
    'Read all data from the htm file into RangetoHTML
    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=")
 
    'Close TempWB
    TempWB.Close savechanges:=False
 
    'Delete the htm file we used in this function
    Kill TempFile
 
    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

Sub Gonder()

For i = 2 To [a65536].End(3).Row
Adres = Cells(i, 2)
Sayfa2.[c1] = Cells(i, 1)
Sayfa2.[c3] = Cells(i, 3)
Sayfa2.[c4] = Cells(i, 4)
Sayfa2.[c5] = Cells(i, 5)
Sayfa2.[c6] = Cells(i, 6)
Sayfa2.[c7] = Cells(i, 7)
Sayfa2.[c8] = Cells(i, 8)
Sayfa2.[c9] = Cells(i, 9)
Sayfa2.[a11] = Cells(i, 10)
Mail_Selection_Range_Outlook_Body
Next
End Sub
 

Ekli dosyalar

Katılım
25 Ocak 2012
Mesajlar
7
Excel Vers. ve Dili
excel 10 tr
Excel i yeni öğrenen biri için benden çok şey istediler sanırım verdiğiniz örnek için çok sağolun fakat ne yapacağımı gerçekten bilmiyorum.Gönderdiğiniz örnek le uğraştım fakat bi sonuç alamadım.Uğraşmayada devam ediyorum teşekkürler.
 
Katılım
25 Ocak 2012
Mesajlar
7
Excel Vers. ve Dili
excel 10 tr
bi yardım alamadım hala :(
 
Üst