- Katılım
- 8 Şubat 2012
- Mesajlar
- 94
- Excel Vers. ve Dili
- Excel 2003 vba
Sayın Üye;
Aşağıdaki kodlarla Excelden Gmail hesabınızı kullanarak mail atabiliyorsunuz
Şayet İnputbox ta şifreyi yanlış yazarsanız VBA kod penceresinde hata mesajı veriyor.
Bunu önlemek isterseniz kodların başına On error resume next yazarak hata mesajı almıyorsunuz. Lakin bu durumda şifre hatalı olsada en sonunda
MsgBox la E-posta ve dosya gönderildi. diye mesaj alıyorsunuz.
ŞİMDİ
1) Bu durum mail gönderen için tehlike arz ediyor. Gönderdim dediği mail aslında gitmemiş oluyor.
2) On error resume next komutunu yazmasak bu defa her yanlışta bizi VBA ya atıyor.
Makrolu excel dosyalarınızı arkadaşlarınıza gönderdiğinizde bu kişiler bu sorunu nasıl aşabileceklerini bilmiyor?
3) Hem hata mesajı versin şifre yanlıştır diye hemde, bu hata hariç başka hatalarla karşılaşıldığında formül hataya bakmadan ilerlesin ama en sonunda Mail gönderildi demesin.
Açıkçası "Ne şiş yansın ne kebap yansın" durumu ama mümkün mü ? Böyle bir şey bunu da bilmiyorum
Bilmem anlatabildim mi?
Saygılarımla,
Şimdiden teşekkür ederim..
NOT: Kodlar benim değil başka bir yerden alıntı olup, bazı yerleri değiştirilmiştir.
Aşağıdaki kodlarla Excelden Gmail hesabınızı kullanarak mail atabiliyorsunuz
Kod:
Sub GmailYolla()
Dim adres As String, Subject As String, HTMLBody As String, BCC As String
Dim iMsg As Object, iConf As Object, Flds
Application.DisplayAlerts = False
Set t = Sheets("sayfa1")
kime = t.Range("b1").Value
konu = t.Range("b2").Value
mesaj = t.Range("b3").Value
bilgi = t.Range("b4").Value
gizli = t.Range("b5").Value
dosyaeki = t.Range("b6").Value
sifre = InputBox("Lütfen Şifrenizi Giriniz" & vbLf & "Şayet Email Gönderilise İşlem Sonunda Mesaj Alacaksınız", "Şifre Gir")
If sifre = "" Then
MsgBox "Şifre Girmediğiniz için işlem iptal edildi. ", vbCritical, "İŞLEM İPTALİ"
Exit Sub
End If
If kime = "" Then
MsgBox "Gönderilecek kişi bulunamadı. ", vbCritical, "DİKKAT"
Exit Sub
End If
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "okyanus@gmail.com"
Flds.Item(schema & "sendpassword") = sifre
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
With iMsg
.To = kime
.CC = bilgi
.BCC = gizli
.From = "Okyanus<okyanus@gmail.com>"
.Subject = konu
.HTMLBody = mesaj
.AddAttachment dosyaeki
.Sender = "Okyanus"
.Organization = "Okyanus"
.ReplyTo = "okyanus@gmail.com"
Set .Configuration = iConf
SendEmailGmail = .send
syol = vbNullString
mailadresi = vbNullString
adres = vbNullString
Application.DisplayAlerts = True
MsgBox "E-posta ve dosya gönderildi. ", vbInformation, "İletim Raporu"
End With
Set t = Nothing
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
End Sub
Bunu önlemek isterseniz kodların başına On error resume next yazarak hata mesajı almıyorsunuz. Lakin bu durumda şifre hatalı olsada en sonunda
MsgBox la E-posta ve dosya gönderildi. diye mesaj alıyorsunuz.
ŞİMDİ
1) Bu durum mail gönderen için tehlike arz ediyor. Gönderdim dediği mail aslında gitmemiş oluyor.
2) On error resume next komutunu yazmasak bu defa her yanlışta bizi VBA ya atıyor.
Makrolu excel dosyalarınızı arkadaşlarınıza gönderdiğinizde bu kişiler bu sorunu nasıl aşabileceklerini bilmiyor?
3) Hem hata mesajı versin şifre yanlıştır diye hemde, bu hata hariç başka hatalarla karşılaşıldığında formül hataya bakmadan ilerlesin ama en sonunda Mail gönderildi demesin.
Açıkçası "Ne şiş yansın ne kebap yansın" durumu ama mümkün mü ? Böyle bir şey bunu da bilmiyorum
Bilmem anlatabildim mi?
Saygılarımla,
Şimdiden teşekkür ederim..
NOT: Kodlar benim değil başka bir yerden alıntı olup, bazı yerleri değiştirilmiştir.
Son düzenleme: