Soru Makro ile Mail Gönderme İMZA EKLEME

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Merhaba,
Aşağıdaki kod ile otomatik olarak mail gönderiyorum. Ancak imzamdaki logo oluşan mail penceresinde çıkmıyor. Sanıyorum sadece text olarak okuyor logo jpg olduğu için okunmuyor. Kodu nasıl değiştir meliyim? Yardımcı olabilirseniz sevinirim. Şimdiden Teşekkürler İyi çalışmalar diliyorum



Kod:
Sub EmailSheet()


    Dim OutlookApp As Object, OutlookMsg As Object
    Dim FSO As Object, BodyText As Object
    Dim MyRange As Range, TempFile As String
      
    On Error Resume Next
    Set MyRange = ActiveSheet.Range("W1:W4")
    If MyRange Is Nothing Then Exit Sub
    Set FSO = CreateObject("Scripting.FilesystemObject")
  
    TempFile = "C:\Planlama\TempHTML.htm"
    ActiveWorkbook.PublishObjects.Add _
    (4, TempFile, MyRange.Parent.Name, MyRange.Address, 0, "", "").Publish True
 
    
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMsg = OutlookApp.CreateItem(0)
    Set BodyText = FSO.OpenTextFile(TempFile, 1)
    
        With OutlookMsg
            .HTMLBody = BodyText.ReadAll
            
            .To = Range("V2").Text  'Kime
            .cc = Range("V3").Text  'Bilgi
            .Subject = Range("V4").Text   ' Konu
          
            .Display
          
            
            
        End With
        
 Kill TempFile
 
    
    Set BodyText = Nothing
    Set OutlookMsg = Nothing
    Set OutlookApp = Nothing
    Set FSO = Nothing
    

End Sub
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bu şekilde dener misiniz? Normalde yeni mailde imzanız varsayıyorum.

.HTMLBody = .HTMLBody + BodyText.ReadAll
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Merhaba,

Denedim olmuyor..
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Merhaba,

Denedim olmuyor..
Bu şekilde deneyin.

C#:
      With OutlookMsg
             .Display
            .HTMLBody = .HTMLBody & BodyText.ReadAll
           
            .To = Range("V2").Text  'Kime
            .cc = Range("V3").Text  'Bilgi
            .Subject = Range("V4").Text   ' Konu
        End With
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Tamam şimdi oldu.. şöyle bir sıkıntı oldu sadece imza kopyalanan metinin altında kalıyor, bunu yapma şansımız varsa güzel olur, yoksa eğer sürükle bırak ile yapabilirim. Aşağıdaki görüntü gibi oluyor236591
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Denedim İmza gelmiyor
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
236593

C#:
Sub EmailSheet()

    Dim OutlookApp As Object, OutlookMsg As Object
    Dim FSO As Object, BodyText As Object
    Dim MyRange As Range, TempFile As String
     
    On Error Resume Next
    Set MyRange = ActiveSheet.Range("A1:D4")
    If MyRange Is Nothing Then Exit Sub
    Set FSO = CreateObject("Scripting.FilesystemObject")

    TempFile = "C:\temp\TempHTML.htm"
    ActiveWorkbook.PublishObjects.Add _
    (4, TempFile, MyRange.Parent.Name, MyRange.Address, 0, "", "").Publish True

    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMsg = OutlookApp.CreateItem(0)
    Set BodyText = FSO.OpenTextFile(TempFile, 1)
   
        With OutlookMsg
            .Display
            .HTMLBody = BodyText.ReadAll & .HTMLBody           
            .To = Range("V2").Text  'Kime
            .cc = Range("V3").Text  'Bilgi
            .Subject = Range("V4").Text   ' Konu           
        End With
       
Kill TempFile

   
    Set BodyText = Nothing
    Set OutlookMsg = Nothing
    Set OutlookApp = Nothing
    Set FSO = Nothing
   

End Sub
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Şimdi oldu.. Çok çok teşekkür ediyorum. sadece kopyalanan yazı üst sol köşeye gelmiyor mu? sürükle bırak ile yapıyorum, olursa süper olur. yoksa buda işimi görürür
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
C#:
Sub EmailSheet()
    Dim OutlookApp As Object, OutlookMsg As Object
    Dim fso As Object, BodyText As Object
    Dim MyRange As Range, TempFile As String
      
    On Error Resume Next
    Set MyRange = ActiveSheet.Range("A1:D4")
    
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMsg = OutlookApp.CreateItem(0)
    With OutlookMsg
         .Display
         .HTMLBody = "Merhabalar, " & "<BR>" & RangetoHTML(MyRange) & "<BR>" & "İyi çalışmalar " & "<BR>" & .HTMLBody
            
         .To = Range("V2").Text  'Kime
         .cc = Range("V3").Text  'Bilgi
         .Subject = Range("V4").Text   ' Konu
    End With
    
    Set BodyText = Nothing
    Set OutlookMsg = Nothing
    Set OutlookApp = Nothing
    Set fso = Nothing
End Sub

Function RangetoHTML(rng As Range)
  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"
  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.Select
    Cells.EntireRow.AutoFit
    Cells.EntireColumn.AutoFit
    Application.CutCopyMode = False
    On Error Resume Next
    .DrawingObjects.Visible = True
    .DrawingObjects.Delete
    On Error GoTo 0
  End With
 
  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
  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.Close savechanges:=False
  Kill TempFile
  Set ts = Nothing
  Set fso = Nothing
  Set TempWB = Nothing
End Function
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Tam İstediğim gibi oldu..Çok Çok Teşekkür ediyorum. Elinize Emeğinize sağlık..
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
Merhaba,
Aşağıdaki kod ile otomatik olarak mail gönderiyorum. Ancak imzamdaki logo oluşan mail penceresinde çıkmıyor. Sanıyorum sadece text olarak okuyor logo jpg olduğu için okunmuyor. Kodu nasıl değiştir meliyim? Yardımcı olabilirseniz sevinirim. Şimdiden Teşekkürler İyi çalışmalar diliyorum



Kod:
Sub EmailSheet()


    Dim OutlookApp As Object, OutlookMsg As Object
    Dim FSO As Object, BodyText As Object
    Dim MyRange As Range, TempFile As String
     
    On Error Resume Next
    Set MyRange = ActiveSheet.Range("W1:W4")
    If MyRange Is Nothing Then Exit Sub
    Set FSO = CreateObject("Scripting.FilesystemObject")
 
    TempFile = "C:\Planlama\TempHTML.htm"
    ActiveWorkbook.PublishObjects.Add _
    (4, TempFile, MyRange.Parent.Name, MyRange.Address, 0, "", "").Publish True

   
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMsg = OutlookApp.CreateItem(0)
    Set BodyText = FSO.OpenTextFile(TempFile, 1)
   
        With OutlookMsg
            .HTMLBody = BodyText.ReadAll
           
            .To = Range("V2").Text  'Kime
            .cc = Range("V3").Text  'Bilgi
            .Subject = Range("V4").Text   ' Konu
         
            .Display
         
           
           
        End With
       
Kill TempFile

   
    Set BodyText = Nothing
    Set OutlookMsg = Nothing
    Set OutlookApp = Nothing
    Set FSO = Nothing
   

End Sub
Excel örnek dosyası eklermisiniz.. Banada lazım bir örnek şablon
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Asri Bey Tekrar Merhaba,

Koda Mail gönderisinde "Yüksek Önem Düzeyi" 'ni aktif yapabiliyor muyuz acaba?
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Subject satırının altına ilave edin.

.Importance = 2


.
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
671
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Emir Hüseyin Bey,

Çok Teşekkür ederim.
 
Üst