NewInspector and Inspector_Activate

Some emal properties cannot yet be changed in the Newinspector event. See how to handle that situation.

Last modified: 2007/03/20 | Accessed: 36.732  | #47
◀ Previous sample Next sample ▶
Reporter Reporter
VBOffice Reporter is an easy to use tool for data analysis and reporting in Outlook. A single click, for instance, allows you to see the number of hours planned for meetings the next month.

The NewInspector event fires when a new item is being created. So, that seems to be the time to edit the item, e.g. add a text to the item's body.

But there're object properties that aren't available yet. For instance, if you edit the item's Subject in NewInspector you won't see the change. The solution is using the Inspector's Activate event instead.

(It wouldn't be Outlook if there were no exception: Taskitems can and must be edited in the NewInspector event, they don't fire the very first Activate event.)

tip  How to add macros to Outlook
Private WithEvents m_Inspectors As Outlook.Inspectors
Private WithEvents m_Inspector As Outlook.Inspector

Private Sub Application_Startup()
  Set m_Inspectors = Application.Inspectors
End Sub

Private Sub m_Inspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
  If TypeOf Inspector.CurrentItem Is Outlook.MailItem Then
    'Handle emails only
    Set m_Inspector = Inspector
  End If
End Sub

Private Sub m_Inspector_Activate()
  Dim Mail As Outlook.MailItem
  Set Mail = m_Inspector.CurrentItem
  If Len(Mail.EntryId) = 0 Then
    'Edit the subject only for new emails
    Mail.Subject = "test"
  End If
  Set m_Inspector = Nothing
End Sub
Determine the "identity" of your emails. Set with SAM the sender and the folder folder for sent items with the help of rules.
email  Send a message