У меня есть код ниже. Поскольку я использую .HTMLBody, мне нужно использовать теги HTML в VBA. Получатель электронного письма увидит кликабельное значение (гиперссылка через «AHREF» в коде) в теле письма. После щелчка открывается новое составленное электронное письмо, в котором есть несколько предварительно заполненных текстов в полях «Кому», «Тема» и «Текст сообщения».
В поле «Тело» я хочу сослаться на значение после «VOLUME:», которое помещается в диапазон («A6») на моем исходном листе Excel. Каждый раз, когда я изменяю значение в диапазоне («A6»), электронное письмо будет отправлено снова. Получатель снова щелкнет по гиперссылке и должен увидеть измененное значение по сравнению с предыдущим письмом. Это возможно?
Sub Test()
Dim oApp As Object
Dim oEmail As Object
Dim Header As String
Dim Alpha As String
Dim olkPA As Outlook.PropertyAccessor
Const PR_ATTACH_CONTENT_ID = "http://schemas.microsoft.com/mapi/proptag/0x3712001F"
Header = "<html>" & "<table cellpadding= 5>" & "<tr bgcolor=""#000080"">"
& "<font color =""white"";font face =Calibri><b>" & "<td width = 250>" &
Range("A5") & "</td>" & _
"<td align=""center"";td width= 60>" & Range("E5") & "</td>" & "</font>
</b>" & "</tr>" & "</html>"
Alpha = "<tr bgcolor=""#F0F0F0"">" & "<font face =Calibri>" & "<td>" &
Range("A6") & "</td>" & "<td align=""center"">" & "<A HREF='mailto:
xxx@xxx.com&subject=***ENQUIRY***&Body=INSTRUCTION: EXTEND %0D%0DVOLUME:
1000 %0D%0DCODE: 12345 '>" & _
"<font color =""blue"">" & Range("E6") & "</td>" & "</A>" & "</font>"
& "</tr>" & "</html>"
Set oApp = CreateObject("Outlook.Application")
Set oEmail = oApp.CreateItem(0)
Set oApp = CreateObject("Outlook.Application")
Set oEmail = oApp.CreateItem(olMailItem)
With oEmail
.To = ""
.CC = ""
.BCC = "xxx@xxx.com"
.Subject = "Test"
.HTMLBody = Header & Alpha
.Display
End With
Set oEmail = Nothing
Set oApp = Nothing
Set colAttach = Nothing
Set oAttach = Nothing
End Sub