[Yardım]  Doğum Günü Geldiğinde İsme Özel Mail Atmak

Excel ile MS Outlook, Outlook Express, Gmail vb. programlar ile mail işlemleri hakkındaki bölüm.

Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#1)  otobus » 03 Arl 2014 11:20

Değerli üyeler

Ekli excel dosyasındaki örnekte göreceğiniz formatta.
Günü geldiğinde ilgili yazdığım adreslere mail gidecek şekilde mail atmak istiyorum.( Dosya "nemaz2313" adlı üyenin dosyası değiştirilerek oluşturulmuştur)("sheet1" deki hale getirilerek)


Yani kişi nin doğum tarihi 23 Aralık 1971 olsun. Bu kişinin doğum günü geldiğinde yani Aralık 23'te saat 08:00de ilgili bir gruba ( örnekte XXxxXXxxXX adresi) mail atarak kutlamak istiyorum. ("sheet2" deki tarihler)

O tarih geldiğinde mail outbox ta duracak o tarihte saat 8 de otomatik olarak gidecek.( Bilgisayar daimi açık bir bilgisayar olacak)

Mümkün müdür?
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#2)  otobus » 04 Arl 2014 08:39

otobus yazdı:Değerli üyeler

Ekli excel dosyasındaki örnekte göreceğiniz formatta.
Günü geldiğinde ilgili yazdığım adreslere mail gidecek şekilde mail atmak istiyorum.( Dosya "nemaz2313" adlı üyenin dosyası değiştirilerek oluşturulmuştur)("sheet1" deki hale getirilerek)


Yani kişi nin doğum tarihi 23 Aralık 1971 olsun. Bu kişinin doğum günü geldiğinde yani Aralık 23'te saat 08:00de ilgili bir gruba ( örnekte XXxxXXxxXX adresi) mail atarak kutlamak istiyorum. ("sheet2" deki tarihler)

O tarih geldiğinde mail outbox ta duracak o tarihte saat 8 de otomatik olarak gidecek.( Bilgisayar daimi açık bir bilgisayar olacak)

Mümkün müdür?


Yardımcı olması açısından aşağıdaki açıklamayı yapmak istedim.

Ekli dosya zaten isme göre mail oluşturmayı sağlıyor.
Yapılması talep edilen; Oluşan maillerin ilerdeki tarihlerde outbox (gönderilecekler) e kayıt edilip, zamanı geldiğinde otomatik mail gönderimi sağlamak.

Destekte olacaklara şimdiden teşekkür ederim. [oley]
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#3)  Ali ÖZ » 04 Arl 2014 13:14

Merhaba,
İstediğiniz böyle bir şey mi,ekli dosyayı inceler misiniz.

Kod: Tümünü seç
Sub Invite()
Dim Lastcell As Integer
Dim i As Long
Dim Kime As String
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim StrBody As String

Lastcell = Sheets("Sheet2").Range("C" & Cells.Rows.Count).End(xlUp).Row
For i = 2 To Lastcell
tarih = Date
zaman = CDate(Format("08:00", "hh:mm"))
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih And Sheets("Sheet2").Cells(i, 6) = zaman Then
Sheets("Sheet1").Range("L11") = "Sayin " & Sheets("Sheet2").Cells(i, 3)
Kime = Sheets("Sheet2").Cells(i, 4)
        'tek tek mail hazirlama
        Set rng = Nothing
        On Error Resume Next
        ' Only send the visible cells in the selection.
        'Set rng = Selection.SpecialCells(xlCellTypeVisible)
        Set rng = Sheets("Sheet1").Range("E5:AX33").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 = Kime
            .CC = ""
            .BCC = ""
            .Subject = "Dogum_Gunu_Kutlaması"
            .HTMLBody = RangetoHTML(rng)
            .Display   'or use .Send
        End With
        On Error GoTo 0
       
         With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
       
        Set OutMail = Nothing
        Set OutApp = Nothing
        End If
Next i

End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9825
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#4)  otobus » 04 Arl 2014 14:24

Ali ÖZ yazdı:Merhaba,
İstediğiniz böyle bir şey mi,ekli dosyayı inceler misiniz.

Kod: Tümünü seç
Sub Invite()
Dim Lastcell As Integer
Dim i As Long
Dim Kime As String
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim StrBody As String

Lastcell = Sheets("Sheet2").Range("C" & Cells.Rows.Count).End(xlUp).Row
For i = 2 To Lastcell
tarih = Date
zaman = CDate(Format("08:00", "hh:mm"))
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih And Sheets("Sheet2").Cells(i, 6) = zaman Then
Sheets("Sheet1").Range("L11") = "Sayin " & Sheets("Sheet2").Cells(i, 3)
Kime = Sheets("Sheet2").Cells(i, 4)
        'tek tek mail hazirlama
        Set rng = Nothing
        On Error Resume Next
        ' Only send the visible cells in the selection.
        'Set rng = Selection.SpecialCells(xlCellTypeVisible)
        Set rng = Sheets("Sheet1").Range("E5:AX33").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 = Kime
            .CC = ""
            .BCC = ""
            .Subject = "Dogum_Gunu_Kutlaması"
            .HTMLBody = RangetoHTML(rng)
            .Display   'or use .Send
        End With
        On Error GoTo 0
       
         With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
       
        Set OutMail = Nothing
        Set OutApp = Nothing
        End If
Next i

End Sub



İsmi yazılan kişi sayısı kadar mail yaratacak.( Örnekte; sadece Ayşe yaratıldı)
Sizin dosyanızda sadece Ayşe nin maili bugün saat 17:00 de draft olarak kayıt ediliyor.
Diğerleri kayıt edilmedi.
Acaba ben mi bir yerlerde yanlış yapıyorum.

Destek ve ilginiz için teşekkürler [TESEKKÜR]
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#5)  Ali ÖZ » 04 Arl 2014 16:01

Diğerleri tarihi geldiğinde gönderilecek.
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9825
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#6)  otobus » 04 Arl 2014 16:08

Ali ÖZ yazdı:Diğerleri tarihi geldiğinde gönderilecek.


Ben outbox ımda göremiyorum ama.
Bir de arka taraftaki don mail hazırlanırken bozulmaya başlamış . Var mıdır? sebebi

Teşekkürler
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel Mail At

İleti#7)  otobus » 07 Arl 2014 13:50

otobus yazdı:
Ali ÖZ yazdı:Diğerleri tarihi geldiğinde gönderilecek.


Ben outbox ımda göremiyorum ama.
Bir de arka taraftaki don mail hazırlanırken bozulmaya başlamış . Var mıdır? sebebi

Teşekkürler


Ben outbox ımda göremiyorum ama.
Bir de arka taraftaki fon mail hazırlanırken bozulmaya başlamış . Var mıdır? sebebi

Teşekkürler
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Cevap: Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel

İleti#8)  otobus » 10 Arl 2014 14:48

otobus yazdı:
otobus yazdı:
Ali ÖZ yazdı:Diğerleri tarihi geldiğinde gönderilecek.


Ben outbox ımda göremiyorum ama.
Bir de arka taraftaki don mail hazırlanırken bozulmaya başlamış . Var mıdır? sebebi

Teşekkürler


Ben outbox ımda göremiyorum ama.
Bir de arka taraftaki fon mail hazırlanırken bozulmaya başlamış . Var mıdır? sebebi

Teşekkürler


Ali Bey
Excel dosyasına tarihleri yazdım ancak mail atma işlemi gerçekleşmedi.
Size zahmet yaratmaz ise kodu kontrol eder misiniz?

Teşekkürler [TESEKKÜR]
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#9)  Ali ÖZ » 10 Arl 2014 14:54

Dosyanın son halini ekler misiniz.
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9825
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#10)  otobus » 10 Arl 2014 16:00

Ali ÖZ yazdı:Dosyanın son halini ekler misiniz.


Ektedir
Tesekkurler
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#11)  Ali ÖZ » 10 Arl 2014 16:16

Bu satırı,

Kod: Tümünü seç
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih And Sheets("Sheet2").Cells(i, 6) = zaman Then


Bu şekilde değiştirin.

Kod: Tümünü seç
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih  Then
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9825
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#12)  otobus » 11 Arl 2014 17:41

Ali ÖZ yazdı:Bu satırı,

Kod: Tümünü seç
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih And Sheets("Sheet2").Cells(i, 6) = zaman Then


Bu şekilde değiştirin.

Kod: Tümünü seç
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih  Then


Belirttiğiniz gibi düzelttim. Ancak ilgili saat geldiğinde otomatik mail atmadı.
Sizce neden olabilir.
Siz denediğinizde otomatik mail attı mı?
Dosya şeklinde kodu yapmanızı mümkün olur mu?
Teşekkürler
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#13)  Ali ÖZ » 12 Arl 2014 10:09

Merhaba,
Ekli dosyayı inceleyin.Dosyanızı açtığınızda

Kod: Tümünü seç
If b = "12.12.2014 09:48" Then '


satırında istediğiniz saati yazıp başlat makrosunu çalıştırın.Belirttiğiniz saat geldiğinde otomatik mail gönderecektir.

Kod: Tümünü seç
Sub baslat()
c = 0
Do
DoEvents
b = Format(Now(), "dd/mm/yyyy hh:mm")
If c = 1 Then Exit Sub
If b = "12.12.2014 09:48" Then ' GÖNDERİM SAATİNİ DÜZELTMEYİ UNUTMAYIN !
c = 1
Call Invite
End If
Loop
End Sub

Sub Invite()
Dim Lastcell As Integer
Dim i As Long
Dim Kime As String
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim StrBody As String
Lastcell = Sheets("Sheet2").Range("C" & Cells.Rows.Count).End(xlUp).Row
For i = 2 To Lastcell
tarih = Date
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih Then
Sheets("Sheet1").Range("L11") = "Sayin " & Sheets("Sheet2").Cells(i, 3)
Kime = Sheets("Sheet2").Cells(i, 4)
        Set rng = Nothing
        On Error Resume Next
        Set rng = Sheets("Sheet1").Range("E5:AX33").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 = Kime
            .CC = ""
            .BCC = ""
            .Subject = "Dogum_Gunu_Kutlaması"
            .HTMLBody = RangetoHTML(rng)
            .Display   'or use .Send
        End With
        On Error GoTo 0
         With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
        Set OutMail = Nothing
        Set OutApp = Nothing
        End If
Next i
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9825
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#14)  otobus » 13 Arl 2014 07:23

Ali ÖZ yazdı:Merhaba,
Ekli dosyayı inceleyin.Dosyanızı açtığınızda

Kod: Tümünü seç
If b = "12.12.2014 09:48" Then '


satırında istediğiniz saati yazıp başlat makrosunu çalıştırın.Belirttiğiniz saat geldiğinde otomatik mail gönderecektir.

Kod: Tümünü seç
Sub baslat()
c = 0
Do
DoEvents
b = Format(Now(), "dd/mm/yyyy hh:mm")
If c = 1 Then Exit Sub
If b = "12.12.2014 09:48" Then ' GÖNDERİM SAATİNİ DÜZELTMEYİ UNUTMAYIN !
c = 1
Call Invite
End If
Loop
End Sub

Sub Invite()
Dim Lastcell As Integer
Dim i As Long
Dim Kime As String
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim StrBody As String
Lastcell = Sheets("Sheet2").Range("C" & Cells.Rows.Count).End(xlUp).Row
For i = 2 To Lastcell
tarih = Date
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih Then
Sheets("Sheet1").Range("L11") = "Sayin " & Sheets("Sheet2").Cells(i, 3)
Kime = Sheets("Sheet2").Cells(i, 4)
        Set rng = Nothing
        On Error Resume Next
        Set rng = Sheets("Sheet1").Range("E5:AX33").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 = Kime
            .CC = ""
            .BCC = ""
            .Subject = "Dogum_Gunu_Kutlaması"
            .HTMLBody = RangetoHTML(rng)
            .Display   'or use .Send
        End With
        On Error GoTo 0
         With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
        Set OutMail = Nothing
        Set OutApp = Nothing
        End If
Next i
End Sub


Saati ve tarihi koda değilde
Çalışma sayfasına yazmak mumkun mu
Ben hiç dokunmadan zamanı geldiğinde otomatik mail atsın istiyorum.
Ornek 3 kişi ama her ay 30 40 kişi var.
Teşekkürler
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Cevap: Cevap: Doğum Günü Geldiğinde İsme Özel Mail At

İleti#15)  otobus » 15 Arl 2014 12:35

otobus yazdı:
Ali ÖZ yazdı:Merhaba,
Ekli dosyayı inceleyin.Dosyanızı açtığınızda

Kod: Tümünü seç
If b = "12.12.2014 09:48" Then '


satırında istediğiniz saati yazıp başlat makrosunu çalıştırın.Belirttiğiniz saat geldiğinde otomatik mail gönderecektir.

Kod: Tümünü seç
Sub baslat()
c = 0
Do
DoEvents
b = Format(Now(), "dd/mm/yyyy hh:mm")
If c = 1 Then Exit Sub
If b = "12.12.2014 09:48" Then ' GÖNDERİM SAATİNİ DÜZELTMEYİ UNUTMAYIN !
c = 1
Call Invite
End If
Loop
End Sub

Sub Invite()
Dim Lastcell As Integer
Dim i As Long
Dim Kime As String
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim StrBody As String
Lastcell = Sheets("Sheet2").Range("C" & Cells.Rows.Count).End(xlUp).Row
For i = 2 To Lastcell
tarih = Date
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih Then
Sheets("Sheet1").Range("L11") = "Sayin " & Sheets("Sheet2").Cells(i, 3)
Kime = Sheets("Sheet2").Cells(i, 4)
        Set rng = Nothing
        On Error Resume Next
        Set rng = Sheets("Sheet1").Range("E5:AX33").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 = Kime
            .CC = ""
            .BCC = ""
            .Subject = "Dogum_Gunu_Kutlaması"
            .HTMLBody = RangetoHTML(rng)
            .Display   'or use .Send
        End With
        On Error GoTo 0
         With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
        Set OutMail = Nothing
        Set OutApp = Nothing
        End If
Next i
End Sub


Saati ve tarihi koda değilde
Çalışma sayfasına yazmak mumkun mu
Ben hiç dokunmadan zamanı geldiğinde otomatik mail atsın istiyorum.
Ornek 3 kişi ama her ay 30 40 kişi var.
Teşekkürler


Diğer üyelere de danışmak istiyorum. Mümkün müdür?
Çözüm sağlayacaklara şimdiden teşekkürler.
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#16)  otobus » 15 Arl 2014 17:18

Diğer üyelere ve Ali Bey tekrar danışmak istiyorum. Mümkün müdür?
Çözüm sağlayacaklara şimdiden teşekkürler. [TESEKKÜR]
Kullanıcı avatarı
otobus
Siteye Alışmış
 
Kayıt: 19 Eyl 2014 15:21
Meslek: Human
Yaş: 48
İleti: 124
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#17)  Ali ÖZ » 15 Arl 2014 22:07

Merhaba,
Bu kodlar aslında sizin istediğiniz işlemi yapıyor.Sanırım siz tarihi geldiğinde otomatik kitap açılsın ve o gün kimin doğum günü varsa mail göndermesini mi istiyorsunuz?

Kod: Tümünü seç

Sub Invite()
Dim Lastcell As Integer
Dim i As Long
Dim Kime As String
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim StrBody As String

Lastcell = Sheets("Sheet2").Range("C" & Cells.Rows.Count).End(xlUp).Row
For i = 2 To Lastcell
tarih = Date
If Sheets("Sheet2").Cells(i, 5) <> "" And Sheets("Sheet2").Cells(i, 5) = tarih Then
Sheets("Sheet1").Range("L11") = "Sayin " & Sheets("Sheet2").Cells(i, 3)
Kime = Sheets("Sheet2").Cells(i, 4)
        Set rng = Nothing
        On Error Resume Next
        Set rng = Sheets("Sheet1").Range("E5:AX33").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 = Kime
            .CC = ""
            .BCC = ""
            .Subject = "Dogum_Gunu_Kutlaması"
            .HTMLBody = RangetoHTML(rng)
            .Display   'or use .Send
        End With
        On Error GoTo 0
         With Application
            .EnableEvents = True
            .ScreenUpdating = True
        End With
        Set OutMail = Nothing
        Set OutApp = Nothing
        End If
Next i
End Sub


Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9825
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#18)  OrkmesB » 15 Arl 2014 22:47


Ali bey, kodlarınızı görünce affınıza binaen küçük bir ipucu yazmak istedim.
:oops:
Kodlarınızı Sheets("Sheet2").Range("C" & Cells.Rows.Count).End(xlUp).Row şeklinde yazarsanız, farklı bir kullanıcı tutup sayfa adını değiştirirse, kod hataya düşer.
Böyle olmaktansa; Sheet2.Range("C" & Cells.Rows.Count).End(xlUp).Row yazmanız daha yararlı olacaktır.
;)
“Benim yaradılışımda fevkâlade olan bir şey varsa, Türk olarak dünyaya gelmemdir"
Resim
Kullanıcı avatarı
OrkmesB
Yönetim Kurulu
 


 
Adı Soyadı:Bahadır Örkmes
Kayıt: 14 Haz 2008 18:26
Konum: Gökçeali
Meslek: Personel Müdürü
Yaş: 41
İleti: 5033
 

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#19)  Ali ÖZ » 15 Arl 2014 22:53

Estağfirullah Bahadır bey,ne demek.Yalnız kodları ben yazmadım,sadece kodlara ilave yaptım.
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9825
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Doğum Günü Geldiğinde İsme Özel Mail Atmak

İleti#20)  OrkmesB » 15 Arl 2014 22:56


Sadece genel bir bilgilendirmeydı, kodlarda gözüme çarptığı için yazdım.
Hayırlı geceler dilerim.
“Benim yaradılışımda fevkâlade olan bir şey varsa, Türk olarak dünyaya gelmemdir"
Resim
Kullanıcı avatarı
OrkmesB
Yönetim Kurulu
 


 
Adı Soyadı:Bahadır Örkmes
Kayıt: 14 Haz 2008 18:26
Konum: Gökçeali
Meslek: Personel Müdürü
Yaş: 41
İleti: 5033
 

Sonraki

Forum Excel ile Mail İşlemleri

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe