".body" içindeki linke etiket eklemek

Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
Merhaba,

Excelde vba ile mail gönderiyorum, mail içinde bir adet link var. Mail gönderirken bu linkin url adresi görünüyor. Bu adresin yerine başka bir metin görünmesini istiyorum. Mesela "buraya tıklayınız" görünsün istiyorum. Ama bunu hangi kodlar ile yapabilirim bilmiyorum. Yardımcı olabilir misiniz?

Teşekkür ederim.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Kodlarınız görmeden yazıyorum.

C++:
        MyURL = "www.excel.web.tr"
        MyText = "Buradan erişebilirsiniz"
        Mesaj1 = "Mail gövdesindeki mesajınızın ilk bölümü"
        Mesaj2 = "<a href=" & MyURL & ">" & MyText & "</a>"
        YeniEmail.HTMLBody = Mesaj1 & " " & Mesaj2
 
Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
Özür dilerim kodları göndermem gerekirdi. Kodlarımız şu şekilde;

Set outmail = outapp.CreateItem(olMailItem)
With outmail
.To = Range("H6")
.Subject = "..."
.Body = "..."
.Send
End With

Burada .body içine eklemek istiyorum linki. veya bir alt satırına harici olarak ekleyebiliyor muyuz bilmiyorum.
 
Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
bir de tablo yapmak istiyorum. mesela 1 satır 3 sütundan oluşan bir tablo yapmak istiyorum. yani vba üzerinden mail gönderirken html özelliklerini kullanabilmek istiyorum dersem doğru bir ifade olur heralde. Bunu nasıl yapabilirim.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Özür dilerim kodları göndermem gerekirdi. Kodlarımız şu şekilde;

Set outmail = outapp.CreateItem(olMailItem)
With outmail
.To = Range("H6")
.Subject = "..."
.Body = "..."
.Send
End With

Burada .body içine eklemek istiyorum linki. veya bir alt satırına harici olarak ekleyebiliyor muyuz bilmiyorum.
C++:
MyURL = "www.excel.web.tr"
MyText = "Buradan erişebilirsiniz"
Mesaj1 = "Mail gövdesindeki mesajınızın ilk bölümü"
Mesaj2 = "<a href=" & MyURL & ">" & MyText & "</a>"
Set outmail = outapp.CreateItem(olMailItem)
With outmail
    .To = Range("H6")
    .Subject = "..."
    .Body = Mesaj1 & " " & Mesaj2
    .Send
End With
 
Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
C++:
MyURL = "www.excel.web.tr"
MyText = "Buradan erişebilirsiniz"
Mesaj1 = "Mail gövdesindeki mesajınızın ilk bölümü"
Mesaj2 = "<a href=" & MyURL & ">" & MyText & "</a>"
Set outmail = outapp.CreateItem(olMailItem)
With outmail
    .To = Range("H6")
    .Subject = "..."
    .Body = Mesaj1 & " " & Mesaj2
    .Send
End With


Teşekkür ederim. Bunu uyguladım ama şu şekilde geliyor maile;

<a href=www.excel.web.tr>Buradan erişebilirsiniz</a>
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Şu şekilde denermisin

C++:
MyText = "Yandaki linke <a href=""http://excel.web.tr"">Excel Öğrenmek için bakabilirsin</a>"
Set outmail = outapp.CreateItem(olMailItem)
With outmail
    .To = Range("H6")
    .Subject = "..."
    .HTMLBody = MyText
    .Send
End With
 
Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
Çok teşekkür ederim. Bu şekilde oldu. Bunun üzerine ben de bir şeyler ilave ettim güzel oldu. Mantığını biraz anladım sandım yazı değil de buton olsun dedim biraz araştırdım denedim ama olmadı tam anlamamışım galiba :)

Bir de sayı problemim var. Yani maile 123456,95 formatında geliyor. Halbuki excel hücresinde 123.456,95 olarak yazıyor. Hatta formatını finansal yapıyorum para birimi yapıyorum ama yine maile 123456,95 olarak geliyor. Bunu bir türlü düzeltemedim. Normalde (#.##00) gibi bir format verebiliyoruz ama mailde olmuyor nedense. Bunu nasıl istediğim formatta aktarabilirim acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,735
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki gibi olabilir mi?

C++:
Sub Test()
    MsgBox FormatCurrency("123456,78", 2)
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Mail gövdesine aktarırken, hücre içinde biçimlendirilmiş olmasına rağmen siz muhtemelen Range'in "Value" özelliğiyle aktardığınız için biçimlendirmeniz aktarılmıyor.

Bu nedenle, siz aktarım sırasında ya Korhan Beyin önerdiği gibi kodun içinde tekrar biçimlendireceksiniz, ya da Range'in "Text" özelliğini kullanacaksınız.

Örneğin, A2 hücresinde değer olarak 45656461256,39 var ve siz bunu biçimlendirdiğiniz için sayfada 45.656.461.256,39 olarak görüyosunuz.

Aşağıdaki basit kod, size biçimlendirilmiş veriyi gösterir, çünkü Range'in "Text" özelliğini kullandık.

Kod:
Sub Test()
    MsgBox Range("A2").Text
End Sub

Ama, aşağıdaki kod size direkt olarak "Value" yani, "değer" olarak sonucu verir...

Kod:
Sub Test()
    MsgBox Range("A2")
End Sub
Diğer yandan, eğer siz sayfada belli bir satır/sütun aralığını e-postanın gövdesine aktarmak istiyorsanız o zaman, hücreler arasında bir döngü tasarlayıp yukarıda belirtildiği gibi birşeyler yapmalısınız.

.
 
Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
Teşekkür ederim oldu, değerler düzeldi. Text özelliği şuanki kullanım için daha pratik geldi. Range'nin sonuna hemen text yazdım. Düzeldi :)

Şimdi son safhaya geldim. Aslında onu da az buçuk yaptım ama tam istediğim gibi olmadı.
Şimdi benim 3 adet değerim var. Her birinin bi başlığı var. Bunları komple tablo içinde mesajın ortasına yazmak istiyorum.

Bunun için "<center> </center>" komutunu kullandım. Tabloyu olduğu gibi ortaya aldı ama başlık ve satır değerleri tablo içinde sağa yaslı olarak geldi. Bunların da tablo içinde ortalı olması lazım. Denedim denedim ama bir yerleri eksik yaptım galiba. Netice alamadım.

Bir de bu tabloya arka plan rengi vermek istiyorum. Bunu başarabilirsek, linkini gizleyip sadece yazısını gösterdiğimiz url adresi için uygulayıp linke butonmuş gibi bi görüntü vermeye çalışacağım. HTML'in buton komutunu denedim ama netice alamadım. Benim de aklıma böyle bir fikir geldi.

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

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
"Table" nesnesinin elementlerinde "style" uygulamanız lazım ....

.
 
Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
Teşekkür ederim Haluk bey. Vba içinde html çalıştırmanın en pratik yolu nasıl acaba. Web üzerinde bir yerde html hazırlığını yapsak sonra bunu vba içinde bir değişkene atasak olmaz mı acaba. Ya da pratik bir yolu var mı. Vba içinde html kodlarını düzenlemek çok uğraştırıyor. Bişeler yapıyorum ama ne yaptığımı bilmiyorum. Bazılarına çift iki tırnak ( "" "" ) koymak gerekiyor bazılarına tek iki tırnak ( " " ) gerekiyor. Mantığını anlamış değilim :)
 
Katılım
28 Mayıs 2017
Mesajlar
42
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
28.05.2022
Sonunda buldum. Çok mutlu oldum. Mantığını anladım az buçuk.
tablo içine border değerini verince çerçeveler geldi. Yönlendirmeleriniz vesilesiyle halloldu. Çok teşekkür ederim. :)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Çözümü kendiniz bulmanız en iyisidir, tadından yenmez .....

Az önce ben de bir çalışma yapmıştım, eğer HTML ve tablolarla ilgileniyorsanız işinize yarayabilir.

Detaylar için;



Ekran görüntüsü de aşağıdadır;


Capture.PNG


.
 
Son düzenleme:
Üst