title: Saving a copy of outlook email (.msg) to a folder after 'Send' is pressed
body: <p>I have tried the codes below and it was working exactly as I wanted it to be.
  <a href="http://www.mrexcel.com/forum/excel-questions/361751-visual-basic-applications-saving-email-only-after-send-pushed.html" rel="nofollow">http://www.mrexcel.com/forum/excel-questions/361751-visual-basic-applications-saving-email-only-after-send-pushed.html</a></p>
  
  <p>However, as I was creating this for other colleagues who are using different Excel version, some of my colleagues are having library error. After read around, I believe I need to use late binding instead of early binding so people with different excel version can access the function.</p>
  
  <p>How to I change the code below (to late binding) so that all other version of excel users can also use the function? Copy of the working codes below.</p>
  
  <p>Class Code</p>
  
  <pre><code>Option Explicit
  Public WithEvents obj_OL As Outlook.Application
  '
  Private Sub obj_OL_ItemSend(ByVal Item As Object, Cancel As Boolean)
  
      '// For example, change pathway to suit, such as:                           //
      '// "\\Dacsrv02\rtddata\Advice\TechQueries\TRIM Emails\" &amp; emailname
      OutMail.SaveAs ThisWorkbook.Path &amp; _
                             Application.PathSeparator &amp; _
                             emailname
  
      '// AFTER the event has been called, explicitly release Outlook.        //
      Set obj_OL = Nothing
      Set OutMail = Nothing
  End Sub
  </code></pre>
  
  <p>Sub Codes</p>
  
  <pre><code>Option Explicit
  '// Connect the declared object w/the class module                          //
  Dim cls_OL As New clsOutlook
  '// Declare the email msg (mail item) and emailname string as Public, so    //
  '// that they can be "seen" from any procedures in the class mod.           //
  Public OutMail As Outlook.MailItem
  Public emailname As String
  
  Sub Email_Response()
  Dim strbody As String
  
      '// Create our new mail item                                            //
      Set OutMail = cls_OL.obj_OL.CreateItem(0)
  
      '// Example substitute                                                      //
      strbody = "This is just example text"
  
      On Error Resume Next
  
      emailname = "something.msg"
  
      With OutMail
          .To = ""
          .CC = ""
          .BCC = ""
          .Subject = "Specific Subject"
          .body = strbody
          .Display
      End With
  
      On Error GoTo 0
  
  End Sub
  </code></pre>