[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

How do I capture the Outlook ItemSend event from a VB.Net 2005 plug-in

Posted on 2007-12-07
4
Medium Priority
?
1,458 Views
Last Modified: 2013-11-26
I need to write a plug-in for Outlook 2003 using VB.Net 2005 that captures the ItemSend event. Using the wizard I have created the attached class but having trouble working out how to create the ItemSend event handler.

What code do I use to hook into the event? What do I need to reference so intellisense displays the events etc for the Outlook object?
imports Extensibility
Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Imports Microsoft.Office.Interop.Outlook
 
<GuidAttribute("8485231B-D0A4-4A14-9FBE-52894D3CA7AF"), ProgIdAttribute("MyTestAddin.Connect")> _
Public Class Connect
	
	Implements Extensibility.IDTExtensibility2
 
    Private WithEvents applicationObject As Object
    Private addInInstance As Object
	
	Public Sub OnBeginShutdown(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnBeginShutdown
	End Sub
	
	Public Sub OnAddInsUpdate(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnAddInsUpdate
	End Sub
	
    Public Sub OnStartupComplete(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnStartupComplete
        MessageBox.Show("Addin Started")
    End Sub
	
	Public Sub OnDisconnection(ByVal RemoveMode As Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection
	End Sub
	
	Public Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection
        applicationObject = application
        addInInstance = addInInst
    End Sub
 
 
 
    Public Sub ItemSend(ByVal Item As Object, ByRef Cancel As Boolean) Handles me.applicationObject.outlookevents.itemsend
        MessageBox.Show("Email Sent")
 
    End Sub
 
End Class

Open in new window

0
Comment
Question by:yoey2007
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20439939
Hi,

AFAIK:

    Private WithEvents applicationObject As Object

needs to be

    Private WithEvents applicationObject As Outlook.Application


and
Public Sub ItemSend(ByVal Item As Object, ByRef Cancel As Boolean) Handles me.applicationObject.outlookevents.itemsend

should be:

 Private Sub ItemSend(ByVal Item As Object, ByRef Cancel As
Boolean) Handles applicationObject .ItemSend


hope this helps...
0
 

Author Comment

by:yoey2007
ID: 20447301
hi angelll,

What reference do I need to make in my project for the ... As Outlook.Application to work?

I currently get an error "type Outlook.Application is not defined"
0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 2000 total points
ID: 20447485
sorry,
you need to add a reference to "Microsoft Outlook 9.0 Object Library"
Click on add Reference, select the COM tab and select "Microsoft Outlook 9.0 Object Library".
0
 

Author Comment

by:yoey2007
ID: 20455257
Thanks for your help angelll

I added a reference to "Microsoft Outlook 11.0 Object Library" as I'm using Outlook 2003 but was still getting the same error.

I changed the following line

Imports Microsoft.Office.Interop.Outlook

to

Imports Outlook = Microsoft.Office.Interop.Outlook

and it all works.


0

Featured Post

Learn Veeam advantages over legacy backup

Every day, more and more legacy backup customers switch to Veeam. Technologies designed for the client-server era cannot restore any IT service running in the hybrid cloud within seconds. Learn top Veeam advantages over legacy backup and get Veeam for the price of your renewal

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
Recently while returning home from work my wife (another .NET developer) was murmuring something. On further poking she said that she has been assigned a task where she has to serialize and deserialize objects and she is afraid of serialization. Wha…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question