Outlook Calender entry in Visual Studio Community - visual-studio

I'm working on a C# application that (among others) needs to be able to add new entries into an Outlook Calender.
After looking up how to do this in Visual Studio , I found that this isn't possible in the Express version , that I was using , because of the missing templates.
But now I'm using Visual Studio Community. I've tried to use this code from MSDN but that doesn't seem to work. Am I missing an import ? Or are Office add-ins also not supported in VS Community , like they were in VS Express ?
If so , is my best option still to use Add-in Express ? Or am I overlooking something else ?

The Community edition of Visual Studio 2013 corresponds to the Professional one. So, you can use VSTO for developing Office add-ins. You just need to install Office dev tools.
See Walkthrough: Creating Your First Application-Level Add-in for Outlook to get started developing an Outlook add-in.
Finally, you may consider a VSTO based add-in as a regular .Net application where you can use all BCL classes and third-party components.

Related

Missing Outlook 2013 Add-in

I am working on making a Outlook Add-in for Outlook 2013. The issue is, I use Visual Studio 2010. I did some googling and found that I need the Developer Tool Kit and it lead me here. I installed the tool kit, but I am still not seeing any new Templates. What am I doing wrong, or what can I do to get that Outlook Add-in?
Thanks in advance!
Unfortunately VSTO allows creating version-specific add-ins. VSTO 2010 (Visual Studio 2010 Tools for Office Runtime) is shipped with Visual Studio 2010 Professional edition or above. It supports creation and editing of document- and application-level add-ins for Office 2007 and Office 2010. You need to use later Visual Studio versions for creating COM add-ins for Office 2013. However, you can run solutions in Office 2013 that were created in earlier Visual Studio versions, see Running Solutions in Different Versions of Microsoft Office for more information.

Office 2016 add-in development in Visual studio 2013

We need to develop add-in for the Office 2016. We are using the Visual studio 2013. It is only showing the Office 2013 add-in templates. Is it possible to create Office 2016 add-in from Visual studio 2013? If so, kindly let me know the steps.
You need VS 2015 to get the specific templates for Office 2016. VSTO only ever provides templates for "current" versions of Office.
If Office 2013 is installed you can develop an Add-in for it. There should be no problem installing and running it in Office 2016 - unless you want to use technology specific to 2016. In that case, you could use late-binding (PInvoke) for the 2016-specific portions, but debugging/testing would be a bit of a pain.
You can download the free Visual Studio 2015 Community edition (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) as well as the VSTO package (https://www.visualstudio.com/en-us/features/office-tools-vs.aspx): VSTO does integrate into the Community edition for version 2015 (and 2013, for that matter). Licensing restrictions would apply, of course.
Other than that, you'd need to upgrade to a full VS 2015.
You can develop and run Office 2016 addins in VS2013. No need to upgrade to VS2015.
Install VSTO 4.0 extension for VS2013
Create Office 2013 plugin using Visual Studio template
Open project file and replace office version string "15.0" to "16.0" in ProjectExtensions section. Look for this of similar string to edit:
OfficeVersion="15.0" VstxVersion="4.0" ApplicationType="Outlook" Language="cs" TemplatesPath="" DebugInfoExeName="#Software\Microsoft\Office\15.0\Outlook\InstallRoot\Path#outlook.exe"
Yes, it is possible. The add-in created in Visual Studio 2013 can be run in Office 2016. You can read more about that in the Running Solutions in Different Versions of Microsoft Office article.
In case if you need to use new methods and properties available only in Office 2016 you can use the Reflection mechanism (see Type.InvokeMember).
there is an example for Outlook, i tried it for Excel and it works as well.
my example:
<ProjectProperties HostName="Excel" HostPackage="{29A7B9D7-A7F1-4328-8EF0-6B2D1A56B2C1}" OfficeVersion="16.0" VstxVersion="4.0" ApplicationType="Excel" Language="vb" TemplatesPath="" DebugInfoExeName="#Software\Microsoft\Office\16.0\Excel\InstallRoot\Path#excel.exe" DebugInfoCommandLine="/x" AddItemTemplatesGuid="{DCFE8D25-4715-4C33-9EAB-A34A9EBC9544}" />
i changed
OfficeVersion="15.0"
to
OfficeVersion="16.0"
and the path to Excel
#Software\Microsoft\Office\16.0\Excel\
as well, finally it starts in Excel 2016...

Office 2010 addin written in visual studio 2013

Using visual studio 2013 I have written an outlook addin for office 2013 and this all works fine, however I now need to make it compatible for office 2010.
I thought I would create another project under the same solution which uses the office 2010 addin which all worked fine until I closed the solution and re-opened it and now it is saying it needs migrating.
If I migrate it, it changes the references to use office15 (instead of office14) so it is now essentially a copy of my original project.
Does anyone know how I can sort it to have the addin work for both office 2010 and 2013?
UPDATE:
Even when I create a new solution in VS2013 for an office 2010 addin, close and re-open the solution it is still asking me to migrate and then it converts to office 2013.
The add-in should work in earlier Office versions if you don't use new features (new properties and methods). But in most cases, you need to replace the interop assembly with the one which corresponds to Outlook. VSTO allows to run add-ins in different versions of Office. See Running Solutions in Different Versions of Microsoft Office

Updating an Office 2010 Add-In to support inline response in Office 2013

I currently have one Add-In project that supports both 2010 and 2013 versions of Office. The only difference is the setup project I use to install the Add-In. One searches for the 2010 PIA and the other for the 2013 PIA. I'm able to support both versions this way. The only problem is that since I'm using the v4.0 libraries I can't access the tools for supporting inline response in 2013.
I currently have Office 2013 and Visual Studios 2010 installed of my machine, can I updated the references from the Office 2013 installation? I understand that if I update my project to support the inline responses, it might brake the compatibility with 2010. This is fine as I can just have two projects.
Do I need VS2012 or higher to support the Office 2013 libraries?
Okay, this took a little while to figure out. All you need to do is delete the Microsoft.Office.Interop.Outlook and stdole and add the Microsoft Outlook 15.0 Object Library reference. I couldn't find the PIA for the Office 2013 originally as they show up as COM instead in .NET in the Add Reference form in VS2010.
After that, the this.Application.ActiveExplorer() should have inline response events. You don't need VS2012 to support the libraries. While I separated the inline response code by checking the application version, I haven't had the chance to test on Outlook 2010 to make sure it works. I'll edit this answer once I do.

Does InfoPath 2013 support Visual Studio 2013?

I am trying to develop custom code for an InfoPath 2013 form. I have Visual Studio 2013 Professional installed, but when trying to edit code I get the following message:
The following external components are required to edit your form code. Please install them and try again.
Microsoft Visual Studio 2012
Visual Studio C# Support
Microsoft Visual Studio Tools for Applications 2012
C# support is installed, along with Visual Studio Tools for Applications 2012.
Does InfoPath 2013 just not support VS2013?
Unfortunately No
MS has really been making some bad decisions lately
Firstly VS2013 was released so they forced people to upgrade if you want to develop for Windows 8.1
Secondly, MS have announced that they are dropping InfoPath and have yet to provide an alternate solution. Support is still available but InfoPath 2013's successor will be another solution.....i'm guessing Azure Forms or SharePoint forms, something like that
Very disappointing
As you have found, adding code to an InfoPath 2013 form requires Visual Studio 2012. I am not aware of a way to use it with any other version of Visual Studio.
Depending on what you plan to use the custom code for, you may be able to get by with the qRules library (full disclosure: I am one of the developers of this library). It contains many of the most common features for which people tend to use code within InfoPath, and you can use them simply by executing rules within your form, eliminating the need for any version of Visual Studio.
If there is a specific thing you are looking to do with code, I can tell you whether it's possible to do so with qRules, but you should open a separate question for that (and let me know here).

Resources