Pl can you help to edit the above to have only first name of the recipient and the greetings shall be 'Hi' only?
Example:if senders e-mail is Mark.James@xxx.com ,
my reply should have - Hi John
Normally when replying an email message in Outlook, we have to manually add greeting. Actually, the original message contains the recipient's information, such as the sender name. And in this article I will introduce two methods to automatically add personalized greeting when replying in Outlook.
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 71% of your time and solve 82% Excel problems for you. 300+ advanced tools designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial
The following VBA code can automatically add personalized greeting when replying messages in Outlook. You can do as follows:
1. Select the email message that you will reply.
2. Press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
3. Click the Insert > Module, and paste following VBA code into the new module window.
VBA: Reply with personalized greeting
Sub ReplyWithGreeting() Dim oMItem As Outlook.MailItem Dim oMItemReply As Outlook.MailItem Dim sGreetName As String Dim iGreetType As Long On Error Resume Next Select Case TypeName(Application.ActiveWindow) Case "Explorer" Set oMItem = ActiveExplorer.Selection.Item(1) Case "Inspector" Set oMItem = ActiveInspector.CurrentItem Case Else End Select On Error GoTo 0 If oMItem Is Nothing Then GoTo ExitProc On Error Resume Next iGreetType = InputBox("How to greet:" & vbCr & vbCr & "Type '1' for name, '2' for time of day") On Error GoTo 0 If iGreetType = False Then GoTo ExitProc If iGreetType = 1 Then sGreetName = oMItem.SenderName ElseIf iGreetType = 2 Then Select Case Time Case Is < 0.5 sGreetName = "Good morning" Case 0.5 To 0.75 sGreetName = "Good afternoon" Case Else sGreetName = "Good evening" End Select Else GoTo ExitProc End If Set oMItemReply = oMItem.Reply With oMItemReply .HTMLBody = "<span style=""font-size : 10pt""><p>Hi " & sGreetName & ",</p></span>" & .HTMLBody .Display End With ExitProc: Set oMItem = Nothing Set oMItemReply = Nothing End Sub
4. Press the F5 Key or click Run button to run this VBA. It will pop up a dialog box as below screen shot shown. Type 1 or 2 based on your needs, and then click OK button.
|Type 1 for greeting with recipient name:||Type 2 for greeting with time of day:|
Note: In Outlook 2013, this VBA code does not work if you reply messages in the Reading Pane. Click here to know how to disable replying in Reading Pane in Outlook 2013.
Some users might not like to apply VBA code in Outlook. Therefore I introduce the second method: Kutools for Outlook's Auto Greeting utility will add personalized greeting easily in all replying messages.
1. Click the Kutools > Options.
2. In the opening Options dialog box, go to the Reply tab, check the Add greeting when reply option, type Hi <<SenderName>>, into the below box, and click the OK button.
From now on, when replying messages in Outlook, the personalized greeting will be added automatically into the email body as following screen shot shown:
Note: In Outlook 2013, this utility does not work if you reply messages in the Reading Pane. Click here to know how to disable replying in Reading Pane in Outlook 2013.