Seçili aralıktaki verileri mail gövdesine yapıştırmak

Excel ile MS Outlook, Outlook Express, Gmail vb. programlar ile mail işlemleri hakkındaki bölüm.

Seçili aralıktaki verileri mail gövdesine yapıştırmak

İleti#1)  halilerdem » 03 Haz 2018 12:25

Çok aradım bulamadım onu için yazıyorum ; Aktif excel sayfasında seçtiğim alanı mail gövdesine yapıştırıp otomatik mail atacak bir kod arıyorum, yardımcı olacaklara şimdiden teşekkürler.
Kullanıcı avatarı
halilerdem
Yeni Başlamış
 
Adı Soyadı:Halil ERDEM
Kayıt: 28 Nis 2009 10:13
İleti: 13
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ZONGULDAK

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#2)  tasad » 03 Haz 2018 16:45

Mail adresini ve diğer bölümleri kendine göre ayarlarsın.
Bir butonun koduna kaydet.
İsteğin hücre aralığını seç ve butona tıkla.
Kod: Tümünü seç
Sub mail_gonder()
Application.ScreenUpdating = False
If ActiveCell Then

ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope

.Introduction = "mail içeriği"

.Item.To = "deneme@excelvba.net"

.Item.Subject = "mail başlığı"

.Item.Send

End With
End If
Application.ScreenUpdating = True
End Sub
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 103
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#3)  halilerdem » 03 Haz 2018 19:47

çalışmadı
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
halilerdem
Yeni Başlamış
 
Adı Soyadı:Halil ERDEM
Kayıt: 28 Nis 2009 10:13
İleti: 13
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ZONGULDAK

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#4)  tasad » 03 Haz 2018 20:42

Vba bölümünde tools-references açılan pencerede
Microsoft outlook 16.0 object libariry kısmını tıkla ve Ok a bas çık.
Kendi dosyamda denedim,hata vermedi.
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 103
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#5)  halilerdem » 03 Haz 2018 23:36

Microsoft Outlook 16.0 Object library checkli olmasına rağmen yine aynı hata
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
halilerdem
Yeni Başlamış
 
Adı Soyadı:Halil ERDEM
Kayıt: 28 Nis 2009 10:13
İleti: 13
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ZONGULDAK

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#6)  tasad » 04 Haz 2018 00:01

'.Item.Send yazan kısmın başındaki tırnak işaretini silip deneyin.
sadece .Item.Send olmalı.
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 103
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#7)  halilerdem » 04 Haz 2018 00:51

sildim farklı hata verdi ve debug dediğimde If ActiveCell Then satırını gösterdi
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
halilerdem
Yeni Başlamış
 
Adı Soyadı:Halil ERDEM
Kayıt: 28 Nis 2009 10:13
İleti: 13
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ZONGULDAK

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#8)  tasad » 04 Haz 2018 10:16

Kodun başına on error resume next yazın.Birde bu şekilde deneyin.
Dediğim gibi kendi dosyamda deneme yaptım,hata vermiyor.
Sizin excel versiyonu ile alakalı bir uyumsuzluk olabilir.
Son çözüm olarak bu önerebilirim.
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 103
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#9)  cntugur » 05 Haz 2018 11:21

Dosyanızı yüklerseniz yardımcı olmaya çalışalım
Kullanıcı avatarı
cntugur
 
Kayıt: 22 Kas 2017 22:21
Meslek: Üretim Şefi
Yaş: 28
İleti: 6
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#10)  baristious » 18 Haz 2018 21:24

Öncelikle bu kodları burada bir konuda buldum ama hangi konuda ve şu an kime ait hatırlayamadım. Bu yüzden öncelikle kodları paylaşan arkadaşıma teşekkür ediyor ve adını hatırlayamadığım için özür diliyorum. [mersi]
Bu kodları şu an kendi dosyamda kullanıyorum ve sorunsuz çalışıyor. Bir modülün içine yapıştırıp, gerekli alanları da kendine göre değiştirdiğinde sorun çıkmayacağını düşünüyorum. İşine yarar umarım.
Kod: Tümünü seç
Option Explicit
Function RangetoHTML(rng As Range)
'Office 2000-2010 sürümlerinde çalışır
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook
     TempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

   ' Kopya aralığı ve geçmiş verileri yeni bir çalışma kitabı oluşturamazsınız
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Sayfayı htm dosyası olarak yayınla
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'RangetoHTML içine htm dosyası olan tüm verileri oku
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.readall
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'TempWB'yi kapat
    TempWB.Close savechanges:=False

    'htm dosyası olan bu fonksiyonu sil
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function
Sub Mail()
'Office 2000-2010 sürümlerinde çalışır
    Dim rng As Range
    Dim OutApp As Object
    Dim OutMail As Object
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With
    Set rng = Nothing
    On Error Resume Next
    Set rng = Selection.SpecialCells(xlCellTypeVisible)
    On Error GoTo 0
    If rng Is Nothing Then
        MsgBox "The selection is not a range or the sheet is protected" & _
               vbNewLine & "please correct and try again.", vbOKOnly
        Exit Sub
    End If
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next
    With OutMail
        .To = " "
        .CC = " "
        .Subject = "Mail Hk.da" 'Otomatik Konu Başlığını Doldursun'
        .HTMLBody = RangetoHTML(rng) 'seçili alanı maile eklesin
        .Display   'göndermek için .Send
    End With
    On Error GoTo 0
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

Kullanıcı avatarı
baristious
 
Kayıt: 11 Nis 2018 17:25
Meslek: İşletme müdürü
Yaş: 32
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: bursa/nilüfer

Cevap: Seçili aralıktaki verileri mail gövdesine yapıştırma

İleti#11)  baristious » 18 Haz 2018 21:31

Konu ve kodlar Sn. Murat OSMA hocamıza aittir. Tekrar teşekkür ediyorum. [mersi]
viewtopic.php?f=93&t=8543
Kullanıcı avatarı
baristious
 
Kayıt: 11 Nis 2018 17:25
Meslek: İşletme müdürü
Yaş: 32
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: bursa/nilüfer


Forum Excel ile Mail İşlemleri

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe