title: Outlook 2010 VBA - Add sender to contacts when i click on a mail
body: <p>got a little problem, I hope someone can help me.</p>
  
  <p>(Outlook 2010 VBA)</p>
  
  <p>this is my current code, what i need is when i click on a mail (only the mail i clicked on, not every mail in the folder/same place)
  it has to check if the Sender of the mail is already in my contacts or in the
  Addressbook 'All Users',
  and if it's not a one of those yet, open the AddContact window and fill in his/her information</p>
  
  <p>what doesn't work yet is:</p>
  
  <ul>
  <li>most important of all, it doesn't run the script when i click on a mail</li>
  <li>the current check if the contact already exsist doesn't work
  and goes with a vbMsgBox (yes or no and response stuff) wich is not what i want/need
  if the contact already exsist then nothing has to happen.</li>
  </ul>
  
  <p>I hope i gave enough information and someone can help me out here :)</p>
  
  <pre><code>Sub AddAddressesToContacts(objMail As Outlook.MailItem)
  Dim folContacts As Outlook.MAPIFolder
  Dim colItems As Outlook.Items
  Dim oContact As Outlook.ContactItem
  Dim oMail As Outlook.MailItem
  Dim obj As Object
  Dim oNS As Outlook.NameSpace
  
  ''don't want or need a vbBox/ask box, this is a part of the current contactcheck
  ''wich doesn't work and is totaly wrong :P
  Dim response As VbMsgBoxResult
  
  Dim bContinue As Boolean
  Dim sSenderName As String
  
  On Error Resume Next
  
  Set oNS = Application.GetNamespace("MAPI")
  Set folContacts = oNS.GetDefaultFolder(olFolderContacts)
  Set colItems = folContacts.Items
  
  ''this selects the mail that is currently selected.
  ''what i want is that the sender of the new incoming mail gets added to contacts
  ''(ofcourse, if that contact doesn't exsist yet)
  ''so the new incoming mail gotta be selected.
  For Each obj In Application.ActiveExplorer.Selection
  
  If obj.Class = olMail Then
  Set oContact = Nothing
  
  bContinue = True
  sSenderName = ""
  
  Set oMail = obj
  
  sSenderName = oMail.SentOnBehalfOfName
  If sSenderName = ";" Then
  sSenderName = oMail.SenderName
  End If
  
  Set oContact = colItems.Find("[FullName] = '" &amp; sSenderName &amp; "'")
  
  ''this part till the --- is wrong, i need someting to check if the contact (the sender)
  ''already exsists. Any ideas?
  If Not (oContact Is Nothing) Then
      response = vbAbort
  If response = vbAbort Then
      bContinue = False
  End If
  End If
  ''---------
  
  If bContinue Then
  Set oContact = colItems.Add(olContactItem)
  With oContact
  
  .Email1Address = oMail.SenderEmailAddress
  .Email1DisplayName = sSenderName
  .Email1AddressType = oMail.SenderEmailType
  .FullName = oMail.SenderName
  
  '.Save
  
  oContact.Display
  
  End With
  End If
  End If
  Next
  
  Set folContacts = Nothing
  Set colItems = Nothing
  Set oContact = Nothing
  Set oMail = Nothing
  Set obj = Nothing
  Set oNS = Nothing
  End Sub
  </code></pre>
  
  <p>hey, i still have a last question,</p>
  
  <pre><code>'sets the name of the contact
      Set oContact = colItems.Find("[FullName] = '" &amp; sSenderName &amp; "'")
  
      'checks if the contact exsist, if it does exit the for loop
       If Not oContact Is Nothing Then
          Exit For
       End If
  End If
  </code></pre>
  
  <p>this checks if the name is already in contacts,
  i need it that it checks if the E-mailaddress is in contacts or not,
  can you help me with that?</p>
  
  <p>i had someting like this in mind</p>
  
  <pre><code>set oSendermail = ?the e-mailaddress?
  
           If Not oSendermail Is Nothing Then
              Exit For
           End If
  End If
  </code></pre>