You missed the name of the macro which should be as follows
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim desFolder As Folder
If TypeName(Item) = "MailItem" And Item.DeleteAfterSubmit = False Then
'specify the email
If InStr(LCase(Item.To), "shirley") > 0 Or InStr(LCase(Item.Subject), "test") > 0 Then
'Display the “Select Folder” dialog box
Set desFolder = Application.Session.PickFolder
Set Item.SaveSentMessageFolder = desFolder
End If
End If
End Sub
The macro goes in the ThisOutlookSession module and it intercepts the send command to file the message in the selected folder. It will not appear in the list of macros because of the callback to Item in the bracketed area of the macro name.