|
|||||||
Адрес получателя Outlook в поле
Время создания: 22.04.2020 13:54
Текстовые метки: VBA_Outlook
Раздел: Разные закладки - VBA - Outlook
Запись: xintrea/mytetra_db_adgaver_new/master/base/15875528420aekw3p85x/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Адрес получателя Outlook в поле Я создаю настраиваемый ответ: изменился внешний вид отправки с учетной записи, и некоторое поле автоматически заполнится. Сначала я объясню, как это работает, мы получаем электронное письмо. Адрес электронной почты, который получает это электронное письмо, находится в CC. Я создал кнопку в верхнем баре. Когда я нажимаю эту кнопку, открывается новый экран электронной почты с уже заполненной информацией и оставшейся информацией, которую нам нужно будет заполнить. Для меня у меня все настроено. Но я не могу работать. Я хочу, чтобы новое электронное письмо отправлялось в исходный адрес (получателя). На данный момент у меня есть этот код: Sub ReplyUsingAccount() Dim oAccount As Outlook.Account Dim objItem As Outlook.MailItem Dim oMail As Outlook.MailItem Dim strAcc As String Dim i As Long Set objItem = ActiveExplorer.Selection.Item(1) strAcc = "myemail@email.nl" For Each oAccount In Application.Session.Accounts If oAccount.DisplayName = strAcc Then Set oMail = Application.CreateItem(olMailItem) With oMail .SendUsingAccount = oAccount .To = objItem.RecipientEmailAddress .Subject = "Aangaande uw bestelling bij " .HTMLBody = "<br><br><br>" & _ "<hr width=""50%"" size=""2"" noshade />" & _ "<font color=""#6699ff"">" & _ objItem.HTMLBody & "</font>" .Display End With End If Next oAccount Set oAccount = Nothing Set objItem = Nothing Set oMail = Nothing End Sub .To = objItem.RecipientEmailAddress не будет работать. У кого-то есть решение для этого. Заранее спасибо. vba email outlook-vba outlook Max van D. 17 февр. '16 в 8:15 источник поделиться Я предполагаю, что он не возвращает адрес электронной почты SMTP поскольку вы используете возврат свойства .SenderEmailAddress на внутренний адрес электронной почты (что означает, что это будет адрес типа EX, а не SMTP). Ниже приведен адрес SMTP для внутренних и внешних. Dim oOutlook As Outlook.Application Dim senderAddress As String, recipEntryId As String, SmtpMailAddress As String Dim oAddressEntry As Outlook.AddressEntry, oExchangeUser As Outlook.ExchangeUser Dim oReply As Outlook.MailItem, oRecipient As Outlook.Recipient Dim objItem As Outlook.MailItem If objItem.SenderEmailType = "SMTP" Then senderAddress = objItem.SenderEmailAddress Else Set oReply = objItem.Reply() Set oRecipient = oReply.Recipients.Item(1) recipEntryId = oRecipient.EntryID oReply.Close OlInspectorClose.olDiscard recipEntryId = oRecipient.EntryID Set oAddressEntry = oOutlook.GetAddressEntryFromID(recipEntryId) Set oExchangeUser = oAddressEntry.GetExchangeUser() senderAddress = oExchangeUser.PrimarySmtpAddress() End If SmtpMailAddress = senderAddress Затем вы можете использовать getSmtpMailAddress переменную в качестве .To адрес электронной почты. Если вы используете Outlook 2010 или более .PropertyAccessor , существует способ использования свойства .PropertyAccessor . Я никогда не использовал это, но его можно было бы рассмотреть.
0 luke_t 17 февр. '16 в 8:58 источник поделиться Я не думаю, что RecipientEmailAddress действителен в VBA. Попробуйте SenderEmailAddress. Чтобы переместить весь адрес получателя в. .To поля пример будет. Option Explicit Sub Example() Dim olItem As Outlook.MailItem Dim olReply As MailItem ' Reply Dim Recipient As Outlook.Recipient Dim olRecip As String If Application.ActiveExplorer.Selection.Count = 0 Then MsgBox "No Item was Selected " Exit Sub End If For Each olItem In Application.ActiveExplorer.Selection Set olReply = olItem.Reply For Each Recipient In olItem.Recipients olRecip = Recipient.address & ";" & olRecip Next Recipient With olReply .To = olRecip ' all the Recipient .Subject = "Aangaande uw bestelling bij " .HTMLBody = "<br><br><br>" & _ "<hr width=""50%"" size=""2"" noshade />" & _ "<font color=""#6699ff"">" & _ olReply.HTMLBody & "</font>" .Display End With Next End Sub Чтобы добавить адрес отправителя .To = olRecip & ";" & olItem.SenderEmailAddress .To = olRecip & ";" & olItem.SenderEmailAddress 0m3r 19 февр. '16 в 2:56 источник поделиться Посмотрите другие вопросы по меткам vba email outlook-vba outlook |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|