Solved

outlook add-on button

Posted on 2009-04-07
6
266 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
[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
  • 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
Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

 

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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Finding original email is quite difficult due to their duplicates. From this article, you will come to know why multiple duplicates of same emails appear and how to delete duplicate emails from Outlook securely and instantly while vital emails remai…
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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…

738 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