Solved

outlook add-on button

Posted on 2009-04-07
6
255 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
VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

 

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

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This article lists the top 5 free OST to PST Converter Tools. These tools save a lot of time for users when they want to convert OST to PST after their exchange server is no longer available or some other critical issue with exchange server or impor…
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…

776 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