views:

974

answers:

5

Hi,

Anyone knows of a good tool for developing add-ins for Word in .net? Hopefully something that supports both office 2003 and 2007.

Thanks.

A: 

Visual Studio 2008. VB.NET.

Matt Howells
+1  A: 

Any version of Visual Studio will do the job. Remember to think about deployment and if you'd want to require the user to have this or that version of the .net framework installed.

svinto
+3  A: 

There are lots of options for development tools for Office. The most obvious one is of course Office itself. It has rich support for macros and VBA. You could also use SharePoint to extend document sharing and management functionality. But if your add-in is more complex than can be handled inside of Office, I suggest you use Visual Studio 2008 or the Tools For Office add-on for Visual Studio 2005.

One thing to keep in mind is that Office is mostly a collection of COM objects. So while tools like Visual Studio, with its deep support of the .NET Framework and Office classes make it very simple to develop solutions for Office applications, with some time, energy, and a high tolerance for pain, you could develop an Office add-in with Notepad.

Microsoft has a very nice resource site for Office developers here.

TMarshall
+3  A: 

Several tools can be used to develop extensions for Office and there are quite a number of books on the subject. Some of the more popular approaches are:

  • VBA comes with office and can be used in two modes. In the first, macros can be written within the document or a template. This has the advantage that the code follows the document and the disadvantage that you cannot easily propogate updates to existing documents. It can also be used to develop extensions by placing a document with the macros in the right folder and registering it with Office.
  • Visual Studio Tools for Office Allows you do to VBA-like projects but with .Net. The assemblies can be bundled with the documents or installed as extensions. Note that VSTO is not necessary for doing non-bundled extensions - you can do this with any .Net development tool if you install the Primary Interop Assembiles for Office. These are shims that wrap the COM API with a native .Net one.
  • Any language such as that supports COM (Component Object Model) can be used to develop office extensions. Examples of such languages are C++, Delphi and Python.
ConcernedOfTunbridgeWells
+1  A: 

Daniel Moth have made some very good VSTO primer webcasts, take a look at those.

Kasper