• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 287
  • Last Modified:

outlook add-on button

Using VB.net how can I create a button in an outlook add-on to outllook 2007 and hook it to a Click event that calls a function
0
qwerty360
Asked:
qwerty360
  • 3
  • 3
1 Solution
 
David LeeCommented:
Hi, qwerty360.

Create a button where?  A form, the ribbon, in a pane, etc.?
0
 
qwerty360Author Commented:
Acutally I am adding a menu item under the "Actions" menu. I was able to add a menu item but I am having trouble now adding an onclick kind of event. I tried the OnAction property but it does not seem to work. Please see the atached code snippet. Thanks.
    Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
        Dim ActionsCmdBar As Office.CommandBar = Me.Application.Explorers(1).CommandBars("Actions")
        Dim myMenuItem As Office.CommandBarButton = ActionsCmdBar.Controls.Add(Office.MsoControlType.msoControlButton)
        myMenuItem.Caption = "My Menu Item"
        myMenuItem.OnAction = "display_message"
    End Sub
 
    Sub display_message()
        Microsoft.VisualBasic.MsgBox("test")
    End Sub

Open in new window

0
 
David LeeCommented:
Sorry to be slow getting back to you.

Try changing the declaration of display_message to

    Public Sub display_message()
0
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

 
qwerty360Author Commented:

I changed it to  " Public Sub display_message()"  but still nothing happens when I click on the menu item
0
 
qwerty360Author Commented:
I got it to work using "WithEvents" in the following code
   Private WithEvents myMenuItem As Office.CommandBarButton
    Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
        Try
            Dim ActionsCmdBar As Office.CommandBar = Me.Application.Explorers(1).CommandBars("Actions")
            Dim cbb As Office.CommandBarControl
            For Each cbb In ActionsCmdBar.Controls
                If cbb.Caption = "My Menu Item" Then
                    cbb.Delete()
                End If
            Next
            myMenuItem = ActionsCmdBar.Controls.Add(Office.MsoControlType.msoControlButton)
            myMenuItem.Caption = "My Menu Item"
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
 
    Private Sub myMenuItem_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, _
    ByRef CancelDefault As Boolean) Handles myMenuItem.Click
        Try
            System.Windows.Forms.MessageBox.Show("test")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
 
    End Sub

Open in new window

0
 
David LeeCommented:
Good deal  Glad you have a solution.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now