Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to develop a Microsoft Office AddIn without Visual Studio

I'm trying to develop an MS Office Addin in C# .Net and I don't have access to Visual Studio. Instead I'm using SharpDevelop as my IDE, (but my question is equally relevant to anyone developing using any other IDE or compiling from the command line...)

I've done a bit of searching for guides on how to develop AddIns, but they all seem to require Visual Studio and follow these steps:

  1. Install the Interop Assemblies
  2. Create a Visual Studio .Net Project (I'm unable to do this bit)
  3. Extend the VS ThisAddIn template

What I've managed to do is to:

  1. Install the Interop Assemblies
  2. Create a C# empty SharpDevelop project
  3. Add a GAC reference to Microsoft.Office.Interop.Outlook
  4. Add a COM reference to Microsoft Office 12.0 Object Library
  5. add the line using Outlook = Microsoft.Office.Interop.Outlook;
  6. and the line using Office = Microsoft.Office.Core;
  7. Look at some example code and realise that they all refer to VS templates and VSTO libraries (Microsoft.Office.Tools) which I don't have.

Where do I go from here? Is there a guide/tutorial I've missed, or can someone provide some pointers?

like image 501
Iain Sproat Avatar asked Dec 07 '11 12:12

Iain Sproat


People also ask

How do you create a VSTO Excel add-in?

To create a new Excel VSTO Add-in project in Visual StudioOn the File menu, point to New, and then click Project. In the templates pane, expand Visual C# or Visual Basic, and then expand Office/SharePoint. Under the expanded Office/SharePoint node, select the Office Add-ins node.

How do I create a custom Outlook add-in?

In Outlook, click Get Add-ins from the Home tab on the ribbon. You can also select File > Manage Add-ins, which will take you to Outlook on the web and open the Add-Ins for Outlook dialog there. From the Add-Ins dialog, type the name of the add-in you want to add to Outlook.

What is a VSTO addin?

Visual Studio Tools for Office (VSTO) is a set of development tools available in the form of a Visual Studio add-in (project templates) and a runtime that allows Microsoft Office 2003 and later versions of Office applications to host the . NET Framework Common Language Runtime (CLR) to expose their functionality via .


1 Answers

NetOffice (http://netoffice.codeplex.com or https://osdn.net/projects/netoffice/) is a great set of version-independent interop assemblies for Office. This is all you need to make add-ins using SharpDevelop, and the project has a bunch of tutorials and samples too, including some for Outlook.

If you're making an add-in for Excel using Excel-DNA (which you need to expose user-defined worksheet functions from .NET), NetOffice still gives you a complementary set of libraries for accessing the Excel COM automation interfaces from your Excel-DNA add-in, so they work together well.

For both NetOffice and Excel-DNA, you'll also be able to use the free Visual Studio Express editions (with some small tricks needed to get debugging working). Visual Studio Express does not include VSTO at all. SharpDevelop also has many more features than the Express editions, like built-in refactoring and VB.NET <-> C# translation tools, so there are good reasons to prefer SharpDevelop as your free IDE.

like image 188
Govert Avatar answered Oct 01 '22 04:10

Govert