• DİKKAT

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

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

Outlook üzerinden mail gönderirken tablo ekleme hk.

  • Konbuyu başlatan Konbuyu başlatan tamer42
  • Başlangıç tarihi Başlangıç tarihi

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,201
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,
Aşağıdaki kod ile Excel' den Outlook ile veri göndermek isterken

mail gövdesine aşağıdaki metin standart (imza) olarak gelmektedir,
Ekli tabloyu Saygılarımızla yazısından' dan 1-2 satır öncesindeki aradaki boşluğa yapıştırmak istiyorum.

İyi günler,

Aşağıdaki malzemeler için stok durumu ve fiyat teklifinizi rica ederim.



Saygılarımızla,

diğer bir deyişle mail gövdesinde Saygılarımızla yazısını bulacak ve buradan bir yada 2 satır üstüne tabloyu yapıştıracak
bunun için kodu nasıl düzenlememiz gerekiyor?
Özetle ekli ekran görüntüsündeki şekle ulaşmak istiyorum.

yardımlarınız için şimdiden teşekkürler,
İyi hafta sonları..

Kod:
Set SH = Sayfa1
strBasla = "     " & vbNewLine

    With olEmail

        .BodyFormat = olFormatRichText
        .To = "mail123@gmail.com"
        .CC = ""
        .Subject = "Test"
        .Display
      
        Set olInsp = .GetInspector
        Set wdDoc = olInsp.WordEditor

        r = SH.UsedRange.Rows.Count + 2
        k = SH.UsedRange.Columns.Count

        SH.UsedRange.Resize(r, k).Copy
        wdDoc.Range(Len(strBasla), Len(strBasla)).Paste
        Application.CutCopyMode = False
  
    End With
 

Ekli dosyalar

  • EMAIL2.xlsb
    EMAIL2.xlsb
    23.7 KB · Görüntüleme: 7
  • 123.jpg
    123.jpg
    71.6 KB · Görüntüleme: 9
Merhaba, imza bloğunuzu yeniden düzenleyerek bir alternatif şöyle olabilir:
İmza bloğundaki satır sonu karakterlerini paragraf karakteri ile değiştirirseniz,
Buradaki satırı >>>>wdDoc.Range(Len(strBasla), Len(strBasla)).Paste
Bunun gibi yapınca >>>>>wdDoc.Paragraphs(5).Range.Paste
"Saygılarımızla," satırının üstündeki satıra yapıştırıyor. Paragraphs(5) demek 5. paragraf demek. Sizin orjinal mailinizde farklı olabilir, paragraf işaretlerini sayarak bulursunuz.
 
Merhaba, imza bloğunuzu yeniden düzenleyerek bir alternatif şöyle olabilir:
İmza bloğundaki satır sonu karakterlerini paragraf karakteri ile değiştirirseniz,
Buradaki satırı >>>>wdDoc.Range(Len(strBasla), Len(strBasla)).Paste
Bunun gibi yapınca >>>>>wdDoc.Paragraphs(5).Range.Paste
"Saygılarımızla," satırının üstündeki satıra yapıştırıyor. Paragraphs(5) demek 5. paragraf demek. Sizin orjinal mailinizde farklı olabilir, paragraf işaretlerini sayarak bulursunuz.
Hocam teşekkür ederim,
mail gövdesinde Saygılarımızla ifadesini arayıp bularak; paragraf numarasını ona göre belirtmemiz mümkün müdür?
iyi geceler
 
Kod:
prg = Split(wddoc.Range.Text, Chr(13))
For Each klm In prg
    If InStr(1, klm, "Saygılarımızla") > 0 Then
        say = say + 1
        wddoc.Paragraphs(say - 1).Range.Paste
        Exit For
    Else
        say = say + 1
    End If
Next
 
Kod:
prg = Split(wddoc.Range.Text, Chr(13))
For Each klm In prg
    If InStr(1, klm, "Saygılarımızla") > 0 Then
        say = say + 1
        wddoc.Paragraphs(say - 1).Range.Paste
        Exit For
    Else
        say = say + 1
    End If
Next
Çok teşekkürler Hocam,
iyi ki varsınız

son olarak bir şey sormak istiyorum,
burada "Saygılarımızla" kelimesinin altına boş bir satır nasıl açabiliriz?
kosaca "Saygılarımızla" kelimesinden sonra bir "enter" yapacak.

iyi günler.
 
Kod:
prg = Split(wddoc.Range.Text, Chr(13))
For Each klm In prg
    If InStr(1, klm, "Saygılarımızla") > 0 Then
        say = say + 1
        wddoc.Paragraphs(say - 1).Range.Paste
        wddoc.Range.InsertParagraphAfter
        Exit For
    Else
        say = say + 1
    End If
Next

Yeri gelmişken birkaç örnek verelim:
Bu satır mail gövdesinde en sona boş satır ekler. Yukarıdaki örnekte son satırda "Saygılarımızla" yazdığına göre bunun altına ekler.
wddoc.Range.InsertParagraphAfter

Bu satır paragraf numarası belirtilen (bu örnekte "say" değişkeninin aldığı değer) satırın altına boş satır ekler.
wddoc.Paragraphs(say).Range = wddoc.Paragraphs(say).Range & vbNewLine

Bu satır paragraf numarası belirtilen (bu örnekte "say" değişkeninin aldığı değer) satırın üstüne boş satır ekler.
wddoc.Paragraphs(say).Range = vbNewLine & wddoc.Paragraphs(say).Range
 
Kod:
prg = Split(wddoc.Range.Text, Chr(13))
For Each klm In prg
    If InStr(1, klm, "Saygılarımızla") > 0 Then
        say = say + 1
        wddoc.Paragraphs(say - 1).Range.Paste
        wddoc.Range.InsertParagraphAfter
        Exit For
    Else
        say = say + 1
    End If
Next

Yeri gelmişken birkaç örnek verelim:
Bu satır mail gövdesinde en sona boş satır ekler. Yukarıdaki örnekte son satırda "Saygılarımızla" yazdığına göre bunun altına ekler.
wddoc.Range.InsertParagraphAfter

Bu satır paragraf numarası belirtilen (bu örnekte "say" değişkeninin aldığı değer) satırın altına boş satır ekler.
wddoc.Paragraphs(say).Range = wddoc.Paragraphs(say).Range & vbNewLine

Bu satır paragraf numarası belirtilen (bu örnekte "say" değişkeninin aldığı değer) satırın üstüne boş satır ekler.
wddoc.Paragraphs(say).Range = vbNewLine & wddoc.Paragraphs(say).Range
Teşekkürler Hocam,
iyi akşamlar
 
Rica ederim, sizlere de iyi akşamlar.
 
Geri
Üst