Я работаю над скриптом VBA для отправки по почте через Outlook в Excel 2010. Все работает отлично с одним исключением: строка .SentOnBehalfofName не будет работать. Вот полный кодSentOnBehalfOf не работает в Excel 2010 Код VBA
Sub Mail()
' Working in Office 2010-2013
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim strbody As String ' This is for the Body of the email
Dim signature As String ' This is for the email signature
On Error Resume Next
'Set OutMail = Nothing
'Set OutApp = Nothing
Dim sh As Worksheet
Set sh = Sheets("Mail")
strbody = sh.Range("C9").Value
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail ' This inserts the email signature
.Display
End With
signature = OutMail.HTMLBody
With OutMail
'.Display
.To = sh.Range("C5")
.CC = sh.Range("C6")
.BCC = sh.Range("C7")
.Subject = sh.Range("C8").Value
.HTMLBody = "<br>" & strbody & fncRangeToHtml(sh.Range("C13").Value, sh.Range("C14").Value) & signature
.SentOnBehalfOfName = sh.Range("C4").Value
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Если удалить этот раздел .SentOnBehalfOf работает, но я потеряю свою подпись линию:
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail ' This inserts the email signature
.Display
End With
signature = OutMail.HTMLBody
Если я кладу это обратно в коде, я получаю свою подпись линию назад, но я теряю способность отправлять от имени другой стороны.
Я ищу решение, которое позволяет мне делать то и другое. Любая помощь будет оценена по достоинству.
Check [здесь] (http://stackoverflow.com/questions/ 15800468/can-use-a-text-string-inside-sentonbehalfofname), возможно, ваша строка отключена. – mrbungle
Вы проверили, что строка в ячейке C4 правильно разрешает имя? –
Я сделал, и все. Я нашел решение, которое я опубликую дальше. –