• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makro/VBA ile Excel'den Outlook'a mail gönderimi

2010 kullanıyorum :)
dentex e ayrıcada çok teşekkür ederim göndermiş son dosyayı kontrol edemedim ama eminim ki o dosya da tamamdır:)
 
dentex e bir sorum olacak I sütununa bir ekleme yapılmadan module I tanımlanmış
bu program excel i açmadan gönderimi sağlayabilecek mi?

Tam anlayamadım
 
outllok 2003'te boyle bir değiştirilemeyen güvenlik ayarı vardı,
bir uygulama outlook kullanarak mail göndermeye çalıştığında bahsettiğiniz uyarı geliyor ve Yes tıklamak gerekiyordu.
Bunu internettede araştırmış, outllok içinde bir çözümü olmadığını öğrenmiştim (3 parti yazılımlar ile çözülebiliyor).
Fakat outllook 2010'da bunu kaldırmışlar bir uyarı almadan direk maili gönderebilmeniz lazım

Excel 2010, outllok 2003 kullanıyor olamazsınız değlmi
 
tüm programlar 2010
 
Merhaba,
dosyayı açınca kontrol edilecek ve 20 günden az kalanlar ve daha önce mail gönderilmemiş olanlara mail gönderecektir. Dosya açılmadan göndermez. Bunun için başka karmaşık yollar oluşturulabilir, bu dosya açımamalı derseniz :)
 
:) evet sorunlardan biri de bu
dosyayı açmayı unutmak

dosya açılmadan nasıl bir yol bulunabilir? ( eminim ki outllok a taz diyen çok tur ama ,excel bizim için daha iyi direkt maili cep telefonumuza uyarı olarak geliyor )

G sütununa mail girmeden

m_cc1 = "xxx@xxx.com" 'gönderilecek cc1
m_cc2 = "xxx@xxx.com" 'gönderilecek cc2
m_bcc = "xxx@xxx.com" 'gönderilecek bcc

makroda bu kısımlara mail tanımlansa gönderim yapar mı ?

veya g sütununa tek hücreye xxx@xxx.com ; xxx@xxx.com 2 veya 3 mail yazsak gönderebilir mi ?

teşekkürler
 
Kod:
m_to = adr  'gönderilecek adres
m_cc1 = "xxx@xxx.com" 'gönderilecek cc1
m_cc2 = "xxx@xxx.com" 'gönderilecek cc2
m_bcc = "xxx@xxx.com" 'gönderilecek bcc

Bu alanları kodun içinde tanımlarsanız gönderir.
Diğer sorunuz için;
Outlook içinde bir kural veya macro tanımlanıp, excel dosyasındaki macro çalıştırılabilir.
 
.Body = ad_soyad
burada örneğin j1:n6 aralığını eklemek isiyorum ola bilirmi
 
.Body = ad_soyad
burada örneğin j1:n6 aralığını eklemek isiyorum ola bilirmi

Tabii ki olabilir. Ancak "ad_soyad" değişkeni "Sub degis()" adlı prosedürde değer alıyor. Bu prosedür, sizin dosyanıza göre uyarlanması gerekir. İyi çalışmalar.
 
o kısımı atlayıp sadece .boby ye j1:n6 taki hücreleri kopyalaya bilirmi
 
Merhaba,
dosyanızı eklerseniz ve ne yapmak istediğinizi üzerinde belirtirseniz, yardımcı olabilirim.
 
Merhaba,
dosyanızı eklerseniz ve ne yapmak istediğinizi üzerinde belirtirseniz, yardımcı olabilirim.

ek dosya var ben tamamen sildim içeriği baya karışmıştı içinden de çıkamadım

yollamak istediğim kişiler veri doğrulama ile çıkıyor.

siteden alıntı ile çalışıyorum ama tam istediğimi karşılamıyor.
 

Ekli dosyalar

Merhaba,
pek fazla açıklama yazmamışsınız ama ben birşeyler yaptım. Kodlar Ron de Bruin'den alıntıdır. İyi çalışmalar.
 

Ekli dosyalar

gökhanbek in anladığım kadarıyla istediği
not Kısmının body de gözükmesi
gökhanbek bende sitede bulduğum bir dosyayı gönderiyorum.

tek sorunu en son satırı outlook un takvim bölgesine atıyor tüm satırları değil
buda outllok takvime nolar almada epey kolaylık sağlar
 

Ekli dosyalar

sayın dentex in 34. mesajı mail gönderebiliyor
açıklama kısmında ise j sütunundaki mailleri gönderiyor
 
gökhanbek in anladığım kadarıyla istediği
not Kısmının body de gözükmesi
gökhanbek bende sitede bulduğum bir dosyayı gönderiyorum.

tek sorunu en son satırı outlook un takvim bölgesine atıyor tüm satırları değil
buda outllok takvime nolar almada epey kolaylık sağlar


sayın dentex bu program da tüm satırlar takvime nasıl atanabilir.
bir kerede 50- 60 takvim girdisi olabiliyor
kolay gelsin
kutuka
 
Merhaba,
dosyadaki kodu aşağıdaki ile değiştiriniz. İyi çalışmalar.

Kod:
Sub OutLook_Takvime_Olay_Ata()
    Dim sh As Worksheet
    Dim oOutLook As Object
    Dim oRandevu As Object
    Set sh = Sheets("Sayfa1")
    On Error Resume Next
    Set oOutLook = GetObject(, "Outlook.Application")
    If Err.Number = 429 Then
        Set oOutLook = CreateObject("Outlook.application")
    End If
    On Error GoTo 0

    Set oRandevu = oOutLook.CreateItem(olAppointmentItem)

    On Error Resume Next
    
    For i = 6 To sh.[c65536].End(3).Row
        With oRandevu
            .Start = Cells(i, 3) + Cells(i, 4)
            .End = Cells(i, 5) + Cells(i, 6)
            .Subject = Cells(i, 7)
            .Location = Cells(i, 8)
            .Body = Cells(i, 9)
            If Len(Cells(i, 10)) > 0 Then
                If IsNumeric(Cells(i, 10)) Then
                    .ReminderMinutesBeforeStart = Cells(i, 10)
                    .ReminderSet = True
                End If
            End If
                    
            If Err <> 0 Then
                Cells(i, 2) = "HATA"
            Else
                .Save
                Cells(i, 2) = "OK"
                Err = 0
            End If
        End With
    Next i
    
'    oRandevu.Display
     
    Set oOutLook = Nothing
    Set oRandevu = Nothing
    Set sh = Nothing
End Sub
 
Geri
Üst