Mesaja font ve biçim ekleme

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Merhaba

Ekli kodda bulunan Mesaj = Range (" N5 ") koduna yazı font ve biçim eklemek istiyorum. Arial 12 Bold yapmak için ne yapmam gerek.

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


Dim Boolean Olarak İşlendi
Dim I Uzun
Dize Olarak Dize PdfFile, Dize Başlığı
Nesne Olarak Dışa Çıkmak

Başlık = Range ("E2") ve "-" ve Aralık ("E3")
Kime = Range ("N2")
Bilgi = Range ("N3")
Gizli = Range ("N4")
Mesaj = Range ("N5")

'PdfFile = ActiveWorkbook.FullName
'i = InStrRev (PdfFile, ".")
Eğer i> 1 ise PdfFile = Sol (PdfFile, i - 1)
PdfFile = PdfFile & "" & [E2] & "" & [E3] & ".pdf"

ActiveSheet ile
.ExportAsFixedFormat Türü: = xlTypePDF, Dosya Adı: = PdfFile, Kalite: = xlQualityStandard, IncludeDocProperties: = Doğru, IgnorePrintAreas: = False, OpenAfterPublish: = False
İle bitmek

Hata Devam Ediyor Sonraki
OutlApp = GetObject ("Outlook.Application") öğesini ayarla
Err ise
OutlApp = CreateObject öğesini ayarla ("Outlook.Application")
IsCreated = Doğru
Son
OutlApp.Visible = Doğru
Hatada GoTo 0

OutlApp.CreateItem ile (0)

.Subject = Başlık
.To = Kime
.CC = Bilgi 'bilgi olarak kime
.BCC = Gizli
.Body = Mesaj
'"....," & vbLf & vbLf _
'& "....." & vbLf & vbLf _
'& "...." & vbLf _
'& [C81] & vbLf _
'& [C83] & vbLf & vbLf
.Attachments.PdFdfFile Ekle
[/ iCode]
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
MailItem nesnesinin (object) "Body" yerine "HTMLBody" özelliğini (property) kullanarak olur.

Renk değişikliği de yapabilirsiniz. mesela ben color=""Blue"" ibaresi ile yazı rengini mavi (Blue) yaptım


Kod:
    Mesaj = "<b><font size=""3"" face=""Arial"" color=""Blue"">" & Range("N5").Value & "</font></b>"

    With CreateObject("Outlook.Application")
        With .CreateItem(olMailItem)
            .To = ""
            .CC = ""
            .BCC = ""
            .Subject = ""
            .HTMLBody = Mesaj
            '.Save
            .Display
            '.Send
        End With
    End With
eklenebilir.
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Sayın mancubus,

Öncelikle desteğiniz için teşekkür ederim. Verdiğiniz şekilde revize ettim ancak E-Mail gönderilemedi hatası vermekte.

Kullandığım kod:

Kod:
Private Sub CommandButton1_Click()

  Dim IsCreated As Boolean
  Dim i As Long
  Dim PdfFile As String, Title As String
  Dim OutlApp As Object
 
  If [E2] = "" Then
MsgBox "Lütfen Tarih Giriniz..!", vbInformation, "MSC"
Range("E2").Select
GoTo 10
Else
 
 
  Title = Range("E2") & " - " & Range("E3")
  Kime = Range("O2")
  Bilgi = Range("O3")
  Gizli = Range("O4")
  Mesaj = Range("O5")
                    
'  PdfFile = ActiveWorkbook.FullName
'  i = InStrRev(PdfFile, ".")
'  If i > 1 Then PdfFile = Left(PdfFile, i - 1)
  PdfFile = PdfFile & "" & [E2] & "  " & [E3] & ".pdf"

  With ActiveSheet
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
  End With

  On Error Resume Next
  Set OutlApp = GetObject(, "Outlook.Application")
  If Err Then
    Set OutlApp = CreateObject("Outlook.Application")
    IsCreated = True
  End If
  OutlApp.Visible = True
  On Error GoTo 0

With OutlApp.CreateItem(0)
  
    .Subject = Title
    .To = Kime
    .CC = Bilgi ' bilgi olarak kime
    .BCC = Gizli
    .Body = Mesaj
    '"....," & vbLf & vbLf _
     '     & " ....." & vbLf & vbLf _
      '    & "...." & vbLf _
       '   & [C81] & vbLf _
        '  & [C83] & vbLf & vbLf
    .Attachments.Add PdfFile
  
    On Error Resume Next
    .Send
    Application.Visible = True
    If Err Then
      MsgBox "E-mail gonderilemedi", vbExclamation, "MSC"
    Else
      MsgBox " E-mail gonderildi... İşleminiz tamamlanmıştır..! ", vbInformation, "MSC"
    End If
    On Error GoTo 0
  
  End With

  Kill PdfFile

  If IsCreated Then OutlApp.Quit

  Set OutlApp = Nothing

Call VeriyeGoreKopya

End If
10:
End Sub
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Merhaba,

Kodları revize ettim. Gönder butonuna basınca bu ekran çıkıyor. " Mesaj = Range("O5") " kısmında bulunan mesajı biçimlendirmek istiyorum.
 

Ekli dosyalar

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
kesinlikle dediğimi yapmamışsınız.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
Kod:
Private Sub CommandButton1_Click()

    Dim PdfFile As String, Title As String

    If Range("E2").Value = "" Then
        MsgBox "Lütfen Tarih Giriniz..!", vbInformation, "MSC"
        Range("E2").Select
        Exit Sub
    End If

    PdfFile = PdfFile & "" & Range("E2").Value & "  " & Range("E3").Value & ".pdf"
    
    On Error Resume Next
    
    With ActiveSheet
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=PdfFile, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    End With
    
    With CreateObject("Outlook.Application")
        With .CreateItem(olMailItem)
            .To = Range("O2").Value
            .CC = Range("O3").Value
            .BCC = Range("O4").Value
            .Subject = Range("E2") & " - " & Range("E3")
            .HTMLBody = "<b><font size=""3"" face=""Arial"" color=""Blue"">" & Range("O5").Value & "</font></b>"
            .Attachments.Add PdfFile
            '.Save
            '.Display
            .Send
        End With
    End With
    
    If Err Then
        MsgBox "E-mail gonderilemedi", vbExclamation, "MSC"
    Else
        MsgBox " E-mail gonderildi... İşleminiz tamamlanmıştır..! ", vbInformation, "MSC"
    End If
    
    Kill PdfFile
    
    Call VeriyeGoreKopya
    
End Sub
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
umarım revize etmediğinizi benim mesajdan görmüşsünüzdür.

sizin kodun tamamının yerine yazdım.


1
tamamının ne işe yaradığını kendi başınıza anlamadığınız kodları kullanmayın.

2
bir defa kullanılıp iş sona erecek değerler için yüzlerce değişken tanımlamaya, onlara değer veya nesne atamaya, sonra bunları bir takım nesnelerin özelliği vs için kullanmaya gerek yok.

Kod:
Dim Bilgi

Bilgi = Range("A5").Value

.CC = Bilgi
değil

Kod:
.CC = Range("A5").Value
bu kadar

3
Kullanılabildiği yerler ile sınırlı olmak üzere ya hep [A1] deyin ya da hep Range("A1")
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Sayın mancubus,

Kesinlikle haklısınız hocam, şu an çok güzel çalışıyor. Yardımlarınız için teşekkür ederim.
 
Üst