Otomatik Mail Kodunda Hata

Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Korhan Bey,

Özür dilerim sorunumu anlatamadım ben. Tekrar özetlemeye çalışayım.

Ekli dosyamdaki excelde A1 ile E16 daki alanı outlook gövdesine alıp gövde kısmında yazan cümledeki tarihide "I2" hücresinden çekmek istiyorum. Mailin konu kısmında ise "Bildiri" yazsın istiyorum.

İlginiz için çok teşekkür ederim.
 

Ekli dosyalar

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Aşağıdaki kodlar ile yapabilirsiniz.
Yalnız C içerisine resim diye bir klasör açmanız gerekiyor. (Resmi resim klasörüne alıyor outlook a ekledikten sonra siliyor.)

Sub kod()

Dim S1 As Worksheet: Set S1 = Sheets("Sayfa1")
Dim rng As Range, cht As ChartObject, say As Double, obj As Object
Const strPath As String = "C:\resim\"


With Application
.EnableEvents = False
.ScreenUpdating = False
End With
S1.Select
isim = "mailek_" & Format(Now, "ddmmyyhhmmss")
Set obj = CreateObject("Scripting.FileSystemObject").GetFold er(strPath)
say = obj.Files.Count + 1
Set rng = S1.Range("A1:E16")

rng.CopyPicture xlScreen, xlPicture
Set cht = ActiveSheet.ChartObjects.Add(0, 0, rng.Width + 10, rng.Height + 10)
cht.Chart.Paste
cht.Chart.Export strPath & isim & ".jpg"
cht.Delete
ExitProc:
Set obj = Nothing: Set rng = Nothing: Set cht = Nothing

Dim xlOutlook As Object
Dim xlMail As Object
Set xlOutlook = CreateObject("Outlook.Application")
Set xlMail = xlOutlook.CreateItem(0)
htmlyaz = "<img src=" & strPath & isim & ".jpg" & " alt=''"

With xlMail
.To = ThisWorkbook.Sheets("Sayfa1").Range("h4").Value
.CC = ""
.Subject = Cells(3, "G") & Cells(3, "H")
.HTMLBody = htmlyaz
.Importance = 2
.Save
.Display
'.Send
End With

Set xlMail = Nothing
Set xlOutlook = Nothing
Kill strPath & isim & ".jpg"

With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Askm merhaba C diskine "resim" diye klasör açarak test ettim. Ancak ekteki hatayı aldım.
 

Ekli dosyalar

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Set obj = CreateObject("Scripting.FileSystemObject").GetFold er(strPath)
kodu aşağıdaki şekilde değiştirin.
Set obj = CreateObject("Scripting.FileSystemObject").GetFolder(strPath)
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
aynı kodu paylaşmışsınız galiba. Bi değişiklik göremedim
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Folder kısmı ayrı çıkıyor internetten dolayı fold ile er kısmının aradaki boşluğu silin.
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Askm

Denedim çalıştı belirttiğim alanı gövdeye aldı ama tamamını resim olarak aldı, doğal olarak "Bu alana asd..." diye başlayan gövdemdeki cümleye metin yapıştıramıyorum. Benim amacım o alana metin yapştırıp göndermek.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Yapmak istediğiniz işlemin örnek bir çalışması olsa daha kolay işlem yaparız. O alana ne yazmak istiyorsanız ona göre önce o kelimeleri yazdırır ondan sonra kodu çalıştırırız.
Ya da K sütununa yazmak istediğiniz cümleleri yazarsınız. Bu alana da oradan formülle çekersiniz.
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Şöyle ifade edeyim. A1 ile E16 daki taslak şablonumu alacak. Ben ise "Bilgilerinize arz olunur" cümlesinin altına 6-7 paragraf yazı yapıştırıp göndericem. Yapıştırıp göndereceğim metin yada yazılar sabit değil sürekli değişecek. Dolayısıyla "Bilgilerinize arz olunur" cümlesinin altına metin ekleyebileceğim şekilde almalı. Bunu belki excelde K sütunundan da alabiliriz doğrudur ancak açılan outllok penceresinde yapıştırıp göndermem lazım.Bu şekilde ekran görüntüsü alıyor dolayısıyla içine müdehale edemiyorum.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Exceli excel olarak outlook a yapıştıran bir kod bilmiyorum. Ya Korhan Beyin sunduğu çözüm ile excelde açılan pencereden düzenleme yapıp gönder yapabilirsiniz. Ya da önce hücreyi değiştirir sonra butonu çalıştırırsınız, outlooka resim olarak ekler. Dediğiniz gibi bir çözüm sunan olursa takipde olacağım.
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
askm çok teşekkür ederim ilginize sağolun.

Korhan bey yardımlarınızı bekliyorum.
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Korhan Bey veya yardımcı olabilecek üstadlar konu günceldir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,023
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu deneyiniz.

Kod:
Sub Mail_Gonder()
    Dim rng As Range
    Dim OutApp As Object
    Dim OutMail As Object

    Set rng = Nothing
    On Error Resume Next
    Set rng = Range("A1:E16").Copy
    On Error GoTo 0

    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 = Cells(4, "H").Value
        .CC = ""
        .BCC = ""
        .Subject = "Bildiri"
        .Display
        DoEvents
        SendKeys "^v", True
    End With
    On Error GoTo 0
    
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
 
Katılım
13 Eylül 2015
Mesajlar
201
Excel Vers. ve Dili
2010 VBA
Altın Üyelik Bitiş Tarihi
04-08-2023
Korhan bey şimdi oldu. Çok teşekkür ederim. Eksik olmayın.
 
Üst