2014-04-04 28 views
1

這實際上是我第一次在這個網站上發佈 - 我真的很感謝所有我能得到的幫助!使用Excel的電子郵件正文中的粗體變量Visual Basic

我有一個包含

  • 客戶的電子郵件,
  • 他們的名字,
  • 他們檢查日期和
  • 及其處理日期的Excel工作表。

我想每天發送一封提醒郵件給他們,如果他們的處理日期是今天。我在編寫代碼方面取得了成功 - 但我一直無法使用電子郵件的大膽部分(ProcessingDateCheckDateTime)。

非常感謝你!

這裏是我的代碼:

Sub SendEm() 
Dim i As Integer, Mail_Object, Email_Subject, o As Variant, lr As Long, MyDate As Date, Client As String, ProcessingDate As Date, CheckDate As Date, Time As Date, PayrollSpecialist As String 
Dim Msg As Variant 

lr = Sheets("DataSheet").Cells(Rows.Count, "S").End(xlUp).row 
Set Mail_Object = CreateObject("Outlook.Application") 
MyDate = Date 
For i = 2 To lr 
    Client = Sheets("DataSheet").Range("S" & i).Value 
    ProcessingDate = Sheets("DataSheet").Range("B" & i).Value 
    CheckDate = Sheets("DataSheet").Range("C" & i).Value 
    Time = Sheets("DataSheet").Range("A" & i).Value 
    PayrollSpecialist = Sheets("DataSheet").Range("D" & i).Value 

     If Sheets("DataSheet").Range("B" & i).Value = MyDate Then 
      Msg = "Dear" & " " & Client 
      Msg = Msg & Sheets("Email").Range("B2").Value 
      Msg = Msg & ProcessingDate & " " 
      Msg = Msg & Sheets("Email").Range("B3").Value 
      Msg = Msg & CheckDate 
      Msg = Msg & ". " & Sheets("Email").Range("B4").Value & " " 
      Msg = Msg & Time 
      Msg = Msg & " " & Sheets("Email").Range("B5").Value & Sheets("Email").Range("B6").Value & vbNewLine & PayrollSpecialist 
      With Mail_Object.CreateItem(o) 
       .Subject = Sheets("Email").Range("A2").Value 
       .To = Sheets("DataSheet").Range("T" & i).Value 
       .Body = Msg 
       '.Send 
       .display 'disable display and enable send to send automatically 
      End With 
     End If 
Next i 
    MsgBox "E-mail successfully sent", 64 
    Application.DisplayAlerts = False 
    Set Mail_Object = Nothing 
End Sub 

回答

1

您可以使用

  1. .htmlBody而不是.Body
  2. 使用HTML

所以要大膽ProcessingDate

Msg = Msg & "<b>" & ProcessingDate & "</b> "

例如與您的代碼

  Msg = "Dear" & " " & Client 
     'Msg = Msg & Sheets("Email").Range("B2").Value 
     Msg = Msg & "<b>" & ProcessingDate & "</b> " 
     'Msg = Msg & Sheets("Email").Range("B3").Value 
     Msg = Msg & CheckDate 
     'Msg = Msg & ". " & Sheets("Email").Range("B4").Value & " " 
     Msg = Msg & Time 
     'Msg = Msg & " " & Sheets("Email").Range("B5").Value & Sheets("Email").Range("B6").Value & vbNewLine & PayrollSpecialist 
     With Mail_Object.CreateItem(o) 
      .Subject = "tested" 
      .To = "[email protected]" 
      .htmlBody = Msg 
      '.Send 
      .display 'disable display and enable send to send automatically 
     End With 
+1

太感謝你了!昨天我在昨天甩了這麼久!真的很感激它。 – KKW

相關問題