使用Excel Visual Basic的电子邮件正文中的粗体variables

这实际上是我第一次在这个网站发布 – 我真的很感谢所有的帮助,我可以得到!

我有一个包含的Excel工作表

  • 客户电子邮件,
  • 他们的名字,
  • 他们的支票date和
  • 和他们的处理date。

如果他们的处理date是今天,我想每天发送一封提醒邮件给他们。 我已经成功地编写了代码 – 但是我一直没有能够大胆的部分电子邮件( 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. .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 = "someone@hotmail.com" .htmlBody = Msg '.Send .display 'disable display and enable send to send automatically End With