Butona basıldığında mail gönderme

Katılım
22 Ağustos 2008
Mesajlar
15
Excel Vers. ve Dili
2003 excell
Altın Üyelik Bitiş Tarihi
17-01-2021
Merhaba,

Aşağıdaki makroda butona basıldığında mail otomatik olarak gönderiliyor.Benim istediğim butona basıldığında mail sayfasının açılması ve ben gönder butonuna bastığımda gönderilmesi.

Bu konuda yardımcı olursanız çok sevinirim..

Teşekkürler

Dim Adres As String
Sub Mail_Selection_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2010
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object

Set rng = Nothing
On Error Resume Next
'Only the visible cells in the selection
'Set rng = Selection.SpecialCells(xlCellTypeVisible)
Set rng = Sayfa2.[a1:c21]
'You can also use a range if you want
'Set rng = Sheets("YourSheet").Range("D4:D12").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

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 = ""
.CC = ""
.BCC = ""
.Subject = "Arıza Bildirimi"
.HTMLBody = RangetoHTML(rng)
.Send 'or use .Display
' .Display
End With
On Error GoTo 0

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Function RangetoHTML(rng As Range)
' Changed by Ron de Bruin 28-Oct-2006
' Working in Office 2000-2010
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"

'Copy the range and create a new workbook to past the data in
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

'Publish the sheet to a htm file
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

'Read all data from the htm file into RangetoHTML
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=")

'Close TempWB
TempWB.Close savechanges:=False

'Delete the htm file we used in this function
Kill TempFile

Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing
End Function

Sub Gonder()

For i = 2 To [a65536].End(3).Row
Adres = Cells(i, 2)
Sayfa2.[c1] = Cells(i, 1)
Sayfa2.[c3] = Cells(i, 3)
Sayfa2.[c4] = Cells(i, 4)
Sayfa2.[c5] = Cells(i, 5)
Sayfa2.[c6] = Cells(i, 6)
Sayfa2.[c7] = Cells(i, 7)
Sayfa2.[c8] = Cells(i, 8)
Sayfa2.[c9] = Cells(i, 9)
Sayfa2.[a11] = Cells(i, 10)
Mail_Selection_Range_Outlook_Body
Next
End Sub
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
Merhaba,

Aşağıdaki makroda butona basıldığında mail otomatik olarak gönderiliyor.Benim istediğim butona basıldığında mail sayfasının açılması ve ben gönder butonuna bastığımda gönderilmesi.

Bu konuda yardımcı olursanız çok sevinirim..

Teşekkürler

Dim Adres As String
Sub Mail_Selection_Range_Outlook_Body()
' Don't forget to copy the function RangetoHTML in the module.
' Working in Office 2000-2010
Dim rng As Range
Dim OutApp As Object
Dim OutMail As Object

Set rng = Nothing
On Error Resume Next
'Only the visible cells in the selection
'Set rng = Selection.SpecialCells(xlCellTypeVisible)
Set rng = Sayfa2.[a1:c21]
'You can also use a range if you want
'Set rng = Sheets("YourSheet").Range("D4:D12").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

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 = ""
.CC = ""
.BCC = ""
.Subject = "Arıza Bildirimi"
.HTMLBody = RangetoHTML(rng)
.Send 'or use .Display
' .Display
End With
On Error GoTo 0

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Function RangetoHTML(rng As Range)
' Changed by Ron de Bruin 28-Oct-2006
' Working in Office 2000-2010
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"

'Copy the range and create a new workbook to past the data in
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

'Publish the sheet to a htm file
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

'Read all data from the htm file into RangetoHTML
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=")

'Close TempWB
TempWB.Close savechanges:=False

'Delete the htm file we used in this function
Kill TempFile

Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing
End Function

Sub Gonder()

For i = 2 To [a65536].End(3).Row
Adres = Cells(i, 2)
Sayfa2.[c1] = Cells(i, 1)
Sayfa2.[c3] = Cells(i, 3)
Sayfa2.[c4] = Cells(i, 4)
Sayfa2.[c5] = Cells(i, 5)
Sayfa2.[c6] = Cells(i, 6)
Sayfa2.[c7] = Cells(i, 7)
Sayfa2.[c8] = Cells(i, 8)
Sayfa2.[c9] = Cells(i, 9)
Sayfa2.[a11] = Cells(i, 10)
Mail_Selection_Range_Outlook_Body
Next
End Sub


Merhaba

.Subject = "Arıza Bildirimi"
.HTMLBody = RangetoHTML(rng)
.Send 'or use .Display

kırmızı renkli yerde kodu yazan arkadaş zaten demiş size .Send yazarsanız direkt gönderir .Display yazarsanız göndermeden önce önizleme yaparsınız.

".Send" kısmını ".Display" olarak değiştirirseniz düzelir.
 
Katılım
22 Ağustos 2008
Mesajlar
15
Excel Vers. ve Dili
2003 excell
Altın Üyelik Bitiş Tarihi
17-01-2021
Çok teşekkür ederim.Sağolun
 
Katılım
3 Nisan 2012
Mesajlar
41
Excel Vers. ve Dili
2010 türkçe
slm mail gönderme

slm arkadaşlar benimde kendi çapımda yaptığım küçük bi excel dosyam var ama vba dan anlamıyom pek bana bu dosyayı her gece raporumu doldurduktan sonra belirlediğim bir adrese mail gönderebilecek bi buton lasım ben dosyayı göndersem ekleyebilecek arkadaşımız varmı bu arada bende hem 2003 yüklü durumda hemde 2010 2010 da vba açılmıyor sadece 2003 te açılıor nası bişi yapabiliriz ben 2010 kullanmak istiyorum ama . nasıl bişi yapabiliriz.
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
Merhaba,
isterseniz bir örnek dosya ekleyin yardımcı olmaya çalışalım. Excel 2010 içinde Dosya>Seçenekler>Güven Merkezi yolunu takip ederek makro güvenlik ayarlarınızı yapınız.
 
Katılım
3 Nisan 2012
Mesajlar
41
Excel Vers. ve Dili
2010 türkçe
tşk ederim

tşk ler oğuz bey şu an iş yerindeyim eve gittiğimde dosyayı atsam eklermisiniz acaba buradan nette yapabileceklerim sınırlı 2010 un vba sını açma konusuna gelince denemedğim yöntem kalmadı ama yinede açamadım
2 farklı şekilde var geliştirici bölümnde bir grup form denetim diğer grupsa activex denetim die bi grup ben form denetimlerini ekleyebiliyorum ama activex denetimleri pasif bide tasarım modu visual basic makrolar kod görüntüleme ve denetim özellikleri düğmeleri pasif durumda güvenlik merkezinden cok uğraştım ama açamadım bi türlü bi yama mı ne kurmam gerekiyomuş onuda bulamadım :(
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
Tamam dosyanızı ekleyin siz akşam yada yarın bakabilirim ama, 2010 konusundada isterseniz office i kaldırıp tekrar kurun isterseniz.
 
Katılım
3 Nisan 2012
Mesajlar
41
Excel Vers. ve Dili
2010 türkçe
slm

tamam oguz bey fak etmez acelem yok bekleyebilirim sizin işinizi engellemeyim ben ne zaman isterseniz o zaman hazırlarsınız benim istediğim bu linkteki excel dosyasının ana sayfasında bi buton olmalı ve benim belirleyebileceğim bi mail adresine bu excel dosyasını mail olarak göndermeli. excel in tüm şifreleri 13579 dur kolay gelsin şimdiden tşk ler.


http://www.upload.gen.tr/d.php/www/8ggxp7c5/2012_kay__tlar___.xlsx.html
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
Dosyanız ektedir. Gerekli düzenlemeleri Alt + f11 tuşlarına basarak Visual Basic e geçerek yapabilirsiniz.
 

Ekli dosyalar

Katılım
3 Nisan 2012
Mesajlar
41
Excel Vers. ve Dili
2010 türkçe
tşk ederim oğuz bey ellerinize sağlık

tşk ederim oğuz bey ellerinize sağlık şimdi tek derdim kaldı oda 2010 da vba yı açma onuda halletmeye çalışacam bkalım onu halledersem kullanabilecem bu dosyayı.
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
Rica ederim. Dediğim gibi sanırım office bozuk bi kaldırıp tekrar kurun sonra güvenlik ayarlarını yapın düzelmesi lazım.
 
Katılım
19 Haziran 2008
Mesajlar
291
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
26-06-2024
Teşekkür ederim. Bende userformuma ekledim. Elinize sağlık
 
Katılım
3 Nisan 2012
Mesajlar
41
Excel Vers. ve Dili
2010 türkçe
merhaba

merhaba oğuz bey benim için hazırlamış olduğunuz mail gönderme butonunu çalıştıramadım vba yı açtım ofisi tekrardan yükeyerek ama butona tıkladığımda E:\belgelerim\outlook dosyaları\outlok .pst dosyası bulunamıyor die bir hata verior tamam dediğimde bu dosyanın olmasıgerektiğiyer zannediyorum ki orayı açıyor tools seceneğinden preferens altında outlok u da sectim ama böle bir hata verior ne yapmam lasım acaba.
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
merhaba oğuz bey benim için hazırlamış olduğunuz mail gönderme butonunu çalıştıramadım vba yı açtım ofisi tekrardan yükeyerek ama butona tıkladığımda E:\belgelerim\outlook dosyaları\outlok .pst dosyası bulunamıyor die bir hata verior tamam dediğimde bu dosyanın olmasıgerektiğiyer zannediyorum ki orayı açıyor tools seceneğinden preferens altında outlok u da sectim ama böle bir hata verior ne yapmam lasım acaba.

Outlook da ekli en az bir tane e-posta hesabınız var değil mi ? olmazsa bir daha yükleyin dosyanızı tekrar bakalım bi.
 
Katılım
3 Nisan 2012
Mesajlar
41
Excel Vers. ve Dili
2010 türkçe
tşk ler

tşk ler oğuz bey uzun uğraşlar sonucu çalıştırdım elinize salık aslında cok basitmiş benim pc de hem outlok ex 6 var hemde 2010 var ben 6 yı kullanıordum fakat maili 2010 dan gönderiormuş benim haberim olmadan bende gönderemiyom sanıom paso mail gönderip durmuşum hehe :)
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
:) Neyse sorun çözülmüş kolay gelsin :)
 

ibrahimaktas1905

Altın Üye
Katılım
2 Aralık 2012
Mesajlar
64
Excel Vers. ve Dili
ms office excel 2019
türkçe
Altın Üyelik Bitiş Tarihi
25-03-2025
bende şöyle bir şey isteyeceğim. bir excel çalışma kitabı ve bu kitapta 5 tane sayfa olsun. sadece 3 nolu sayfayı posta olarak gönderebiliyormuyuz.
 
Üst