Anasayfa » Forum

Excel'de otomatik m...
 

Excel'de otomatik mail göndermek  

  RSS
Umut KARTOPU
(@UmutKARTOPU)
Üye

Merhaba arkadaşlar,

 

Şirketimizde logo tiger kullanılmaktadır ve sql server. Bir excel dosyası ile saatlik satış raporlarını çekmekteyiz. Satış raporlarını çekerken yalnızca yaptığımız günlük olarak tarihi değiştirmek. Tarih değişikliğinden sonra veriler otomatik olarak sql server'den çekilmektedir. Bu işlemden sonra excel tablosunun belirli içeriğini kopyalayarak mail ile her sat başı gönderiyoruz. Biz bunu sistemin otomatik olarak yapmasını istiyoruz. Örneğin saat 12:00'da mail otomatik gidecek ancak mail giderken konu başlığında'da 12:00'a ait satış raporu yazmasını istiyoruz. Bu konuda neler yapmam gerekir? Excel üzerinde bir kodmu oluşturmamız gerekir?

 

Teşekkürler 

Alıntı
Gönderildi : 15/05/2013 14:38
Rahmi DILLI
(@rahmidilli)
Tanınmış Üye

Merhabalar,

 

http://support.microsoft.com/kb/816644

 

Makale faydalı olur denemek lazım makro ile olur.

CevapAlıntı
Gönderildi : 22/05/2013 14:07
 Anonim
Aşağıdaki kodları kullanabilirsiniz.
   
Kodları  Module içerisine yazın ve  Zamanı_Geldi makrosunu çalıştırın. (Bunun için ilgili makroyu seçin ve  F5 'e basın.)
Her şeyde olduğu gibi istediğiniz işlemi de farklı yöntemlerle yapmak mümkün.
Eğer derseniz ki; "Ben hiç uğraşmak istemiyorum, saat tam 12:00 olduğunda bu Excel dosyam istediğimi kişilere mail olarak gitsin."  O zaman Zamanlanmış görevler'de dosyanın adını ve saatini ekleyin. Dosyanız o saatte açılsın ve gönderilsin. Bunun için Excel_ile_Mail_Gönderme  yerine  Auto_Open yazmanız yeterli olacaktır. Dosya açıldığında direkt Excel_ile_Mail_Gönderme makrosu tetiklenecek ve mailiniz gönderilecektir..
 
 
Sub Zamanı_Geldi()
    Application.OnTime TimeValue("12:00:00"), "Excel_ile_Mail_Gönderme"
End Sub

Sub Excel_ile_Mail_Gönderme()
    Dim OutApp As Object, Outmail As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set Outmail = OutApp.CreateItem(0)
    Outmail.BodyFormat = 2
        With Outmail
            .To = "Buraya kendi mail adresinizi"
            .CC = "Buraya CC yapmak istediğiniz mail adresini yazın"
            .Subject = "Nuraya konuyu yazın"
            .Attachments.Add "Buraya dosya yolunu yazın"
            'Not: Dosya yolunu yazdıktan sonra tırnak işaretlerini kaldırın
            .Display
            '.Send 'Göndermek için .send den önceki ' tek tırnak işaretini kaldırın
        End With
    Set Outmail = Nothing: Set OutApp = Nothing
End Sub
 
 
Hoşça kalın !  --)(
 
 
CevapAlıntı
Gönderildi : 16/11/2013 13:27
uğur karaman
(@ugurkaraman)
Üye

Merhaba Murat Bey,

Benimde aynı türden bir sorum var yardımcı olursanız sevinirim. Açıkçası makrolar konusunda iyi değilim. Bu yüzden yazdığınız kodları anlayamıyorum. Bu makroyu ben nasıl oluşturucam adım adım anlatabilir misiniz rica etsem. Yani benim excele ne yazmam gerekiyor ayrıntılı bir şekilde.

 Ben iş geliyor ve 20 gün süresi var. Bana iş geldiği anda geri sayım yapıcam ve 2 günde bir bana ve diğer arkadaşlarıma otomatik mail atmasını istiyorum. "Son 18 gün-16gün-14gün" gibi.

 Yardımlarınız için şimdiden teşekkür ederim.

CevapAlıntı
Gönderildi : 31/12/2013 10:41
 Anonim

Merhaba [b]Uğur Bey[/b], mesajınızı yeni gördüm. 

Yarın gün içinde size geri dönüş yapacağım.  

CevapAlıntı
Gönderildi : 03/01/2014 03:40
mesut kaya
(@mesutkaya)
Üye

Murat Bey Merhaba,

Bu konularda bikaç yerde yardımcı olduğunuz gördüğüm için size yazıyorum. Aşağıdaki kodu excele yazdım ancak tek sorun mail atarken outlook ta onay istemesi, bunu nasıl kaldırabiliriz? Yardımlarınız için teşekkürler.

Sub Zamani_Geldi()

    Application.OnTime TimeValue("11:30:00"), "Send_Range"

    

    End Sub

Sub Send_Range()

   ' Select the range of cells on the active worksheet.

   ActiveSheet.Range("A1:m35").Select

   ' Show the envelope on the ActiveWorkbook.

   ActiveWorkbook.EnvelopeVisible = True

   

   

   ' Set the optional introduction field thats adds

   ' some header text to the email body. It also sets

   ' the To and Subject lines. Finally the message

   ' is sent.

   With ActiveSheet.MailEnvelope

      .Introduction = "Düne ait satış verileri"

      .Item.To = "mesutkaya@sezgingroup.com"

      .Item.Subject = "Kıbrıs Satışları"

    .Item.send

    End With

   Set Outmail = Nothing: Set OutApp = Nothing

End Sub

 

 

CevapAlıntı
Gönderildi : 25/02/2015 11:29
Soner Altuntaş
(@SonerAltuntas)
Üye

Arkadaşlar Merhaba ;

Söylediklerinizi aynen yaptım çok teşekkür ederim çok işime yaradı, acaba belirtiğim hücreyi hangi kod ile bir sonraki hücrenin gönderirmesini sağlayabilirim ?

Örnek veriyorum, kayıt sistemi her yeni kayıdı göndermesi için nasıl bir kod yazmam gerekir yardımcı olabilimisiniz ?

 

 

CevapAlıntı
Gönderildi : 23/03/2015 13:50
ALİ KÖSEOĞLU
(@alik)
Üye

Uğur beyin anlattığı konudaki gibi benim de ihtiyacım var

Bu konuda bana yardımcı olabilme şansınız var mı

CevapAlıntı
Gönderildi : 11/09/2019 20:21
Paylaş:

Lütfen Giriş yap yada Kayıt ol