outlook üzerinden toplu mail

Katılım
20 Mart 2006
Mesajlar
23
Sub mailgonder()

Dim subeSayisi As Integer

subeSayisi = 4

Dim mailAdres(11) As String

mailAdres(0) = "xxx@syyyy.com.tr"
mailAdres(1) = "aaaa@firma.com.tr"
mailAdres(2) = "bbb@firma.com.tr"
mailAdres(3) = "ccc@firma.com.tr"

Dim myBody As String

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile("C:\body.txt", 1)

Do Until objFile.AtEndOfStream

myBody = myBody & objFile.Read(1)

Loop

Dim i As Integer

For i = 1 To subeSayisi

If FileExists("c:\SUBELEREDAGIL\" & i & ".xls") Then

Dim out As Object

Set out = CreateObject("outlook.application")

With out.CreateItem(olMailItem)

.Recipients.Add mailAdres(i - 1)

.Subject = "xxxxxx Raporu"

.Body = myBody

.Attachments.Add "c:\" & i & ".xls"

.Send

End With

End If

Next i


End Sub

Public Function FileExists(Fname As String) As Boolean

If Fname = "" Or Right(Fname, 1) = "\" Then

FileExists = False: Exit Function

End If

FileExists = (Dir(Fname) <> "")


End Function

SORUN:
Şubelere toplu outlook içinden mail göndermek için yazılan kodlar yukarıda yer almaktadır. Her bir şubeye sadece kendi excel tablosu şeklindeki raporunu gönderiyor. Şubeye excel raporu yoksa diğer şubeye geçiyor. body.txt dosyasından mail içeriğini okuyor ve mail içerisine yapıştırıyor. Toplu mail göndermek istediğimiz zaman body.txt dosyasının içeriğini değiştirmek yetiyor. Fakat text dosyasında yazı karakterlerinde değişiklik olmuyor (bold, italik vb.).

Bu mantıkta kodu word ile çalıştırmak istiyorum. Aktif olarak içeriği hazırlanmış ve kaydedilmiş word belgesine ilgili kişileri ve dosyaları ekleyerek toplu olarak göndermek istiyorum.



pills11.com ;))
pills11.com ;))
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Word belgesindeki bold, italik, font rengi gibi bi&#231;imlendirmelerin Outloojk mesaj g&#246;vdesinde de aynen yer almas&#305; i&#231;in yapman&#305;z gereken, s&#246;z konusu Word dok&#252;man&#305;n&#305; "Web sayfas&#305;" olarak kaydettikten sonra a&#351;a&#287;&#305;daki kodu &#231;al&#305;&#351;t&#305;rmak olacakt&#305;r.

Bilgisayar&#305;n&#305;zda D:\TestFolder &#351;eklinde bir klas&#246;r a&#231;t&#305;ktan sonra ekli zip dosyas&#305;ndaki MyBody.htm dosyas&#305;n&#305; bu klas&#246;re yerle&#351;tirin. Yani, D:\TestFolder\MyBody.htm olarak kaydedin.

Daha sonra ekli zip dosyas&#305; i&#231;indeki EmailHTMLbody.xls dosyas&#305;n&#305; bilgisayarda herhangibir yere &#246;rne&#287;in masa&#252;st&#252;ne yerle&#351;tirip, a&#231;&#305;n ve sayfa &#252;zerindeki d&#252;&#287;meye t&#305;klayarak kodu &#231;al&#305;&#351;t&#305;r&#305;n.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tekrar merhaba,

Bir revizyon yapt&#305;m ve bu kez s&#246;z konusu Word dok&#252;man&#305; otomatik olarak HTML bi&#231;imine d&#246;n&#252;&#351;t&#252;r&#252;lerek, e-mail g&#246;vdesine aktar&#305;lacak.

Yani, siz sadece ekli MyBody.doc dok&#252;man&#305;n&#305; D:\TestFolder\MyBody.doc olarak yerle&#351;tirecek ve gerekti&#287;inde s&#246;z konusu Word dok&#252;man&#305;n&#305;n i&#231;eri&#287;ini de&#287;i&#351;tirip, oldu&#287;u gibi Word dok&#252;man&#305; olarak kaydeceksiniz.

Daha sonra Excel dosyas&#305; i&#231;indeki sayfada yer alan butona t&#305;klad&#305;&#287;&#305;n&#305;zda, geri kalan i&#351;leri kodlar yapacakt&#305;r.
 
Katılım
20 Mart 2006
Mesajlar
23
teşekkürler eline sağlık

Sayın Haluk kodlar için çok teşekkür ederim çok işime yaradı.Acaba subject kısmınıda kime gönderdiğimle ilişkilendirebilir miyim,
mesela bu mailler illere dağılacak, eğer adanaya gidicekse sbubject kısmında adana, istanbula gidicekse istanbul yazsın, bu mümkün müdür?ilişkilendirmeyi mail adresine göre yapıcak, adana@xxx.com.tr mesela adres, "@" işaretinden sonraki kısmı almadan sadece adana yazıcak.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Şu anda MS Outlook kurulu değil, deneyemedim ama aşağıdaki kısmı orjinaliyle değiştirip de denersiniz ...

Kod:
    With OutlookMsg
        .HTMLBody = BodyText.ReadAll
        .To = "[EMAIL="raider@hotmail.com"]raider@hotmail.com[/EMAIL]"
        .Subject = Left(.To, InStr(1, .To, "@") - 1) & " mesajiniz ...."
        .CC = "[EMAIL="raider@yahoo.com"]raider@yahoo.com[/EMAIL]"
        .Display
    End With
 
Katılım
8 Aralık 2005
Mesajlar
123
merhaba,

bu olayi subeler icin olusturulmus ayri ayri excel dosyalari icin degil de, tum subeleri iceren sadece tek bir dosyanin icinden ayristirarak yapabilir miyiz?

ya da excel dosyasinin herbir satirinda ilgili subenin ismi/kodu yazsa bunu ayri ayri dosyalara bolmenin kolay bir yolu var mi?


ve sonraki maile geciste gondermeyi onaylamayi da otomatik yapabilir miyiz, tsk.
 
Son düzenleme:
Üst