Build Your Own Add-in For Microsoft Office Using .NET






3.68/5 (12 votes)
Dec 10, 2005
2 min read

121188

2672
How to build an add-in for Microsoft applications supporting add-ins, using C#.
Introduction
In this article, we will learn how to create a simple Hello World browser add-in for Microsoft’s applications that supports add-in. A list of such applications is given here:
- Microsoft Word
- Microsoft VSMacros IDE
- Microsoft Visual Studio .NET
- Microsoft Visio
- Microsoft Publisher
- Microsoft Project
- Microsoft PowerPoint
- Microsoft Outlook
- Microsoft FrontPage
- Microsoft Excel
- Microsoft Access
In this article, we will take Microsoft Outlook as an example.
Prerequisites:
You must have the following …
- Microsoft Development Environment 2003 or higher
- Microsoft .NET Framework 2.0
- Office Primary Interop Assemblies (PIAs). For Office XP, click here to download.
Creating the Add-in
- Run the Microsoft Development Environment.
- Go to File> New Project>, a dialog will appear.
- Go to Other Projects> Extensibility Project, select Shared Add-in type project template.
Add-In Wizard
When the Add-in wizard starts, press Next...
Select programming language (example C#), press Next.
Select applications in which you want to host your add-in, press Next.
Provide add-in name and description, press Next.
Choose add-in options, press Next.
Press Finish.
Setup Projects
Two projects will be added automatically.
- Add-in project.
- Setup project.
Creating the Browser Form
- Add a form for the Add-in project, named frmHelloWorld.cs.
- Add a
Label
,TextBox
, and aPictureBox
. - Add a Microsoft web browser control to the form (you can get it by right clicking on the toolbox, selecting Add/Remove Items, and clicking on the “COM Components”: a lot of controls will be listed, select Microsoft Web Browser Control, and press OK.
- With the following code, create a function
go()
:
void go()
{
try
{
stbPanel1.Text="Trying to open "+tbURL+"..." ;
object obj=new object ();
browser.Navigate(tbURL.Text,ref obj,ref obj,ref obj,ref obj);
}
catch(Exception ex)
{
//error hanlder here......
}
}
Call this function on the PictureBox
's Click
event.
Programming for Add-in Connection
Install PIAs and add a reference to the following DLL: Microsoft.Office.Interop.Outlook.DLL.
There will be a file connect.cs in the add-in project, open it. Declare the following items globally:
//for Outlook Express you can mention here word, power point.
private Microsoft.Office.Interop.Outlook.Application applicationObject;
private object addInInstance;
private CommandBarButton btnLaunch;
In the function OnStartupComplete
, write the following code:
public void OnStartupComplete(ref System.Array custom)
{
CommandBars commandBars =
applicationObject.ActiveExplorer().CommandBars;
try
{
//if will be good if button exist use it
btnLaunch= (CommandBarButton)
commandBars["Standard"].Controls["HelloWorld"];
}
catch
{
//if error occur
btnLaunch = (CommandBarButton)
commandBars["Standard"].Controls.Add(1,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value);
btnLaunch.Caption = "Hello World Browser!";
btnLaunch.Style = MsoButtonStyle.msoButtonCaption;
}
//use tag for quick access of button.
btnLaunch.Tag = "This is Hello World Browser!";
btnLaunch.OnAction = "!<EMAILSTATSADDIN.CONNECT>";
btnLaunch.Visible = true;
btnLaunch.Click += new
_CommandBarButtonEvents_ClickEventHandler(
btnLaunch_Click);
}
In the function OnBeginShutdown
, write the following code:
public void OnBeginShutdown(ref System.Array custom)
{
//delete our button...
CommandBars commandBars = applicationObject.ActiveExplorer().CommandBars;
try
{
//remove on unload...
commandBars["Standard"].Controls["HelloWorld"].Delete(
System.Reflection.Missing.Value);
}
catch(System.Exception ex)
{
//code to show/log error...
}
}
Write the following code in the btnLanuch
event handler:
private void btnLaunch_Click(CommandBarButton Ctrl,
ref bool CancelDefault)
{
try
{
frmHelloWorld objfrmHelloWorld=new frmHelloWorld ();
objfrmHelloWorld.Show();
}
catch(Exception ex)
{
//code to show or log error...
}
}
Rebuild and Installation
Right click on the setup project, click Rebuild, and it will automatically rebuild the add-in and the setup project. Then, right click on the setup project and click Install.
Running
Run Microsoft Outlook, and you will see “Hello World Browser!” on the toolbar. Click on it and your add-in will start. As you can see here...
Known Issues
After uninstallation, the “Hello World Browser!” button is not removed from the Outlook toolbar.