Как ответить шаблоном по умолчанию при замене значения имени

1362
BaconJuice

Мне интересно, возможно ли это вообще? У меня есть письма, на которые мне нужно ответить со следующим сообщением

Hello NAME,  Your request has been completed.  Thank you. 

Есть ли способ для меня, чтобы автоматизировать этот процесс одним нажатием кнопки? Также есть ли способ для меня, чтобы заполнить ИМЯ с именем отправителя? В настоящее время имя отправителя отображается в поле «От» следующим образом: Фамилия, Имя. Я хотел бы заменить переменную NAME моего сообщения значением FirstName.

Мне интересно, возможно ли это с Outlook 2003?

Любая помощь будет принята с благодарностью.

Спасибо.

0

1 ответ на вопрос

0
niton

Сохраните файл шаблона с вашим текстом. В коде он сохраняется на диске C и называется NamePlaceholder.oft. Изменить по мере необходимости.

Откройте запрос перед запуском кода.

Sub CreateReplyFromTemplate()  Dim currItem As Outlook.mailItem Dim currItemReply As Outlook.mailItem Dim myItem As Outlook.mailItem  Dim commaPositionRight As Long Dim Firstname As String  Set currItem = ActiveInspector.currentItem Set currItemReply = currItem.Reply Set myItem = Application.CreateItemFromTemplate("C:\NamePlaceholder.oft")  myItem.To = currItemReply.To commaPositionRight = InStrRev(myItem.To, ",") Firstname = Right(myItem.To, commaPositionRight)  myItem.Subject = currItem.Subject  ' if "RE:" or "FW:" on the request, ' and the client replies there would be an extra "RE:" or "FW:" If InStr(myItem.Subject, "RE: ") = 1 Or InStr(myItem.Subject, "FW: ") = 1 Then myItem.Subject = Right(myItem.Subject, Len(myItem.Subject) - 4) End If  myItem.HTMLBody = myItem.HTMLBody & currItemReply.HTMLBody myItem.HTMLBody = Replace(myItem.HTMLBody, "NAME", Firstname)  currItemReply.Close olDiscard currItem.Close olDiscard  myItem.Display  Set currItemReply = Nothing Set myItem = Nothing Set currItem = Nothing  End Sub 

Если вы не знакомы с VBA, см. Здесь http://www.slipstick.com/developer/how-to-use-outlooks-vba-editor/