An alternative approach, which you can use as a script with a rule, to reply automatically as the messages arrive is as follows:
Sub AutoResponse(olItem As MailItem)
Dim sText As String
Dim sSubject As String
Dim vText As Variant, vItem As Variant
Dim i As Long
Dim olOutMail As Outlook.MailItem
sText = olItem.Body
vText = Split(sText, Chr(13))
sSubject = ""
For i = 1 To UBound(vText)
If InStr(1, vText(i), "5.tour_booked : ") > 0 Then
vItem = Split(vText(i), Chr(58))
sSubject = sSubject & Trim(vItem(1))
End If
If InStr(1, vText(i), "5.tour_price : ") > 0 Then
vItem = Split(vText(i), Chr(58))
sSubject = sSubject & Chr(32) & Trim(vItem(1))
End If
Next i
Set olOutMail = Application.CreateItem(olMailItem)
With olOutMail
.To = "someone@somewhere.com" ' the recipient of the message
.Subject = sSubject
.Display 'Change to .Send after testing
End With
lbl_Exit:
Set olOutMail = Nothing
Exit Sub
End Sub
Use the following to test on a message already received.
Sub TestMsg()
Dim olMsg As MailItem
On Error Resume Next
Set olMsg = ActiveExplorer.Selection.Item(1)
AutoResponse olMsg
lbl_Exit:
Exit Sub
End Sub