Solved

outlook add-on button

Posted on 2009-04-07
6
260 Views
Last Modified: 2013-11-26
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
Comment
Question by:qwerty360
  • 3
  • 3
6 Comments
 
LVL 76

Expert Comment

by:David Lee
ID: 24088085
Hi, qwerty360.

Create a button where?  A form, the ribbon, in a pane, etc.?
0
 

Author Comment

by:qwerty360
ID: 24088410
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
 
LVL 76

Expert Comment

by:David Lee
ID: 24134203
Sorry to be slow getting back to you.

Try changing the declaration of display_message to

    Public Sub display_message()
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 

Author Comment

by:qwerty360
ID: 24138313

I changed it to  " Public Sub display_message()"  but still nothing happens when I click on the menu item
0
 

Accepted Solution

by:
qwerty360 earned 0 total points
ID: 24146990
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
 
LVL 76

Expert Comment

by:David Lee
ID: 24152936
Good deal  Glad you have a solution.
0

Featured Post

Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

Question has a verified solution.

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

Follow this checklist to learn more about the 15 things you should never include in an email signature from personal quotes, animated gifs and out-of-date marketing content.
Are you unable to connect or configure Hotmail email account in Microsoft Outlook 2010, 2007? Or Outlook.com emails are not downloading to Outlook? Lets’ see the problem and resolve Outlook Connector error syncing folder hierarchy (0x8004102A).
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
CodeTwo Sync for iCloud (http://www.codetwo.com/sync-for-icloud?sts=6554) automatically synchronizes your Outlook 2016, 2013, 2010 or 2007 folders with iCloud folders available via iCloud Control Panel. This lets you automatically sync them with…

860 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