I want to add a custom menu in Word, and on clicking on the menu item , my application should execute.
I assume that because you mention menu, you are speaking of Word 2003. If you want to use C# for that, you may use VSTO (Visual Studio Tools for Office) to do that, using the older version, VSTO 2005 SE. I have never done that for Word, but I did for Excel, and I think there shouldn't be much of a difference there. You will have to use Visual Studio 2008 for this, though; I believe VSTO 2005 SE is no longer supported in VS 2010.
If you are targeting Word 2007 or higher, you would have to use the Ribbon instead, as the Menu is gone.
Related
I am developing my first Outlook Add-In in C#. In Visual Studio I have the options to develop an "Outlook 2010 Add-in" or "Outlook 2013 Add-in" or probably an "Outlook 2016 Add-in".
This Add-In should work on one PC which runs currently Outlook 2010 but which I could upgrade to a newer version.
If I start to develop an "Outlook 2010 Add-in" will this also work in Outlook 2013 and 2016? Do I have to do something to make it work with different versions of Outlook?
My Add-In will check some details of the mails and depending on the details it will sort these mails. I guess that should work in all versions.
Is there a clear advantage of an 2013 or 2016 Add-In compared to 2010?
As mentioned in comments by #penleychan, targeting the latest version is a good thought. I did the same when I develop my VSTO addin. Most of the time I have used the common features of the Outlook and developed the addin with template version similar to the installed office (on my machine). Its easy to debug.
If the addin is going use specific feature(s) of a version of Office, then we should use that version template.
You may like to refer this link.
You can run your Office 2010 based solution in later Office versions. You just need to choose the right target .net version. Read more about that in the Running Solutions in Different Versions of Microsoft Office article.
Is there a clear advantage of an 2013 or 2016 Add-In compared to 2010?
The only benefit you get in that case - the PIAs version corresponding to the target Office version. That means you will get access to objects, methods, properties and events available in later Office versions. Anyway, at runtime you still can use the late-binding technology which allows accessing missed members at design-time. See Type.InvokeMember for more information.
I am planning to develop an AddIn for MS Outlook 2010. This addin will place a control next to Search Textbox in outlook. But I don't know how to achieve this. I searched a lot but found addins for Ribbon/Pane. Any pointer would really helpful for me.
My Environment: VS2012 Ultimate, MS Outlook 2010, C#
You can't explicitly customize that area. A VSTO Task Pane or Add-in Express Form Region could give you some alternatives. Otherwise, you'd need to use the Win32 API and do some window subclassing to paint a control there, as per the technique used here:
Creating Adjacent Windows In Outlook in C++ for Visual Studio 2008
http://code.msdn.microsoft.com/OlAdjacentWindows/
Is there any way to create add-in for Outlook 2007/2003 in Visual Studio 2012 (C#)?
So far I found that it should be possible and I just need to remove references from build-in 2010 add-in. Also tried to download some packages for older VS without success. After many attempts, during adding .dll file to Outlook 2007, I am still receiving error, that it is not add-in for Outlook 2007.
After all, I doubt a lot that I can do some add-in for old Outlook 2003 if I am not able to do it for 2007. It would enough for this time to force 2007 add some add-in with only MessageBox on startup.
You can try to use this library NetOffice. I'm using it and is very good.
Even if it does not fits your needs you can dig a little in the code and try to understand how they do it. They have nice examples.
BTW, If you are using VS express edition you cannot develop Office add-ins without a library like NetOffice.
I want to create an add-in (a ribbon precisely) for MS Excel by using Visual Studio C# 2010 Express. I have searched and read about it here and here and somewhere else. However, when I want to create a new project I don't see any template as described, I don't see even the Office tab. Is it because I am using the Express edition? I think it shouldn't be. Because in this official comparison they say all editions are capable of office development.
What can I do to develop this add-in?
According to this post on the MSDN forum, Visual Studio Tools for Office are not available in the Express edition. I'm not sure where you're reading that on the comparison page (a quick glance said nothing about the Express edition).
A good alternative to VSTO for making an Excel add-in with .NET is Excel-DNA (which I develop). It is a free library that integrates your .NET assembly with Excel using the C API (as an .xll add-in). You can create user-defined worksheet functions (UDFs) for Excel (which are not supported by VSTO), and make ribbons, RTD servers. And you get easy deployment (a single .xll file) without needing any registration or admin rights, even for ribbons and RTD servers.
Another option, if you just want to integrate through the COM interface and not make UDFs or use the specialized Excel features, is NetOffice. The project give you a version-independent set of interop assemblies for Office and Visio, and allows you to easily make add-ins targeting different versions of Office. NetOffice can also be used as your COM interop library in an Excel-DNA add-in.
Both of these directions will work fine under the Express editions of Visual Studio, as well as in the free SharpDevelop IDE.
I'm still confused by the different versions of VSTO and in which way they are compatible to office 2007/2010. I know there is a nice table for comparisons on wikipedia, but I still don't get it. My focus lies on PowerPoint.
Okay, so I have the Visual Studio 2010 Professional Edition that provides two templates for PowerPoint: a 2007 Add-In template and a 2010 Add-In template. What exactly is the difference here, is it just the version of the underlying VSTO? Apart form that, is there a difference between VSTO 4.0 and VSTO 2010? Wikipedia uses both terms.
I want the Add-In to work with both PowerPoint 2007 and 2010. Should I chose the 2007 Add-in project type or the 2010 add-in project type?
Wikipedia says: "Office 2007 applications can also use the VSTO 2010 runtime"
and it also says
"VSTO solutions developed against newer Office versions will not work in older Office versions as they lack the necessary Primary Interop Assemblies (PIAs)".
Isn't that some kind of contradiction?
below image should be helpful
A VSTO project will work only with the selected version and later i.e. a 2007 add-in will work with Office 2007 and 2010, whereas a 2010 add-in will work with only 2010.
When deciding which version to choose for an add-in, choose the version of the oldest Office version you want to support.