
Unfortunately, VSTO is only available for Excel 2003 and above and I think you have to create separate add-ins for Excel 2003 and Excel 2007. NET programmer since these controls are a bit smoother looking and are specifically designed to work with. NET controls to be used on the worksheet. I don't know if this is part of what you plan on doing, but VSTO enables.

XML is just fine if you ask me, but the drag-and-drop designer really is a dream to use Without the drag-and-drop designer you have to provide XML instead. VS 2010 is currently in beta 2 and the RTM date is set for April 12th, so we are almost there.Īs for deployment, with your experience I don't think you'll have too much trouble with setup packages or the like and Visual Studio Tools for Office (VSTO) is excptionally good for two things:Ĭreating a custom ribbon arrangement for your add-in via a drag and drop designer. In your case, you should use C#, but I would strongly suggest using C# 4.0 on Visual Studio 2010 for this, it will greatly improve the syntax that is required when operating against a COM object model such as Excel. Ok, yes, you should have said! Most people with questions like this are VBA programmers who are looking to get into. Thereof) only come out 3 or 4 times a decade (For another similar opinion on this, see Do I lose the benefits of macro recording if I develop Excel apps in Visual Studio?.)Įdit: Update regarding Andy's comment, below: NET skills can become strong enough so that you will prefer to use it over VBA, but you will have to become pretty good at. Overall, I would suggest that you use VBA for your day-to-day development, but learn VB.NET or C# on the side so that your programming skills can grow outside of the Excel arena.

VBA is also an easier language to learn and start out with. NET when it comes to deployment, which is quite complicated with Excel when dealing with. NET has many advantages, mostly regarding strong-typing, full OOP capabilities, and the ability to organize larger-sized projects. By comparison, VBA allows you to create UDFs with virtually no effort. NET is definitely the next step, but it makes your Excel development much harder.įurther, VSTO does not enable the creating of user defined worksheet functions ("UDFs"), so you would need a VBA front-end, or create a managed COM add-in without using VSTO, in order to do this. I would suggest that you stick with VBA for your standard development with Excel, and learn.
