I have Office Excel add-in project and it's working, but it generates only DLL files, not XLL. Is there any possibility to create XLL file using only Visual Studio without using external libraries (ex. Excel-DNA)?
Related
I need a help to understand VSTO addin vs the .xll excel addin .
what is the difference between both addins?
Is there any possibility to convert VSTO excel addin into a .xll file to directly attach in an excel worksheet?
XLL Add-ins
XLL add-ins are the older native-code add-ins created via the Excel Software Development Kit. These add-ins are written in c/c++ and make use of COM interop.
VSTO Add-ins
Visual Studio Tools for Office (VSTO) add-ins are the contemporary method to create Excel add-ins via managed code such as C#. Microsoft provides a managed API instead of raw COM to access Office products including Excel.
OP:
Is there any possibility to convert VSTO excel addin into a .xll file to directly attach in an excel worksheet?
Yes and no. You would need to re-write the add-in not just to use c/c++ instead of .NET but also to use the COM API instead of the VSTO managed libraries. Sadly there is no easy way to do this.
I want to build an excel add-in which is application level. I followed the instructions to create a project on MSDN.
I don't want to create a COM add-in, I want an Excel plugin. The plugin we create as .xlam file and code it in VBA.
Please suggest me what to do. How to deploy the .vsto file and patch up with the .xlam file?
A VSTO Office add-in is a COM add-in by definition. That is how Microsoft implemented it. They have built a bridge from .NET to the native Microsoft Office code using COM.
If you want an XLAM add-in, as you say, you need to go through this reference, which doesn't involve creating a Visual Studio VSTO project.
I am working on report automation project (Windows Application) and my dev environment have Visual Studio 2010 Professional version, Office 2013 installed.
I am using Microsoft Office Interop DLL files. I used below DLLs for Interop: Microsoft.CSharp.dll, Microsoft.Office.Interop.Excel.dll, Microsoft.Office.Interop.PowerPoint.dll. All these versions are 12.0.0.0.
This setting is working fine for Office 2010. But for Office 2013 it is messing.
Now let me describe how this reports gets generated. Firstly it creates an Excel file (which I consider as Intermediate file and it contains data and other charts is not generating the excel file), then from there we take those data to PPT file and make the expected output. I tried 14.0.0.0 versions for above mentioned dll also.
My application target framework is ".Net Framework 4 Client Profile", Platform Target "x86".
I can not use any paid library/DLL files.
there is a easy way to work with Excel, by using EPplus open source library you can create and read excel file easy
use below command in your package manage console
Install-Package EPPlus
for creating PPT files also this link will be helfull : How to use Automation to create and to show a PowerPoint
Since lately the Visual Studio Tools For Office 2012 (VSTO 2012) are available for download.
Can this new version still used for developing Add-In solutions for older Office versions (2007,2010)? Are there any advantages over VSTO 4.0 (besides Office 2013 support)
Yes, it can. I'm using VS2012 for an Excel 2007 project and it works fine.
The trick is to change the debug path in your project file so that VS uses the older version of the Office app your plugin is for.
Create your VSTO project (let VS create the project for Office 2010)
Edit the project file and find the <ProjectProperties> with a HostName attribute. It will be a child element of a <VisualStudio> element.
Change the DebuginfoExeName attribute value of the <ProjectProperties> attribute to be the path to the older version of the Office application .exe file
Save your project
Now when you go to debug your app it should launch the older version of your Office app and attach to that process to load your VSTO.
In my project, the new <ProjectProperties> element looks like this for Excel 2007:
<ProjectProperties
HostName="Excel"
HostPackage="{20A848B8-E01F-4801-962E-25DB0FF57389}" OfficeVersion="14.0"
VstxVersion="4.0"
ApplicationType="Excel"
Language="cs"
TemplatesPath=""
DebugInfoExeName="#Software\Microsoft\Office\12.0\Excel\InstallRoot\Path#excel.exe"
AddItemTemplatesGuid="{51063C3A-E220-4D12-8922-BDA915ACD783}" />
Deployment also works fine. I deploy my add-in via ClickOnce and it is added to Excel 2007 clients without any additional changes.
As far i know you can deploy your solution to previous version office. I once developed an add-in for ppt 2013 and it worked fine in ppt 2010. Note that The API for the new VSTO has several additional features and last time i only used existing features, but not the new ones.
I've never tested this, but i think if you use new event handler that only works in 2013, when you deploy it in 2010 it simply does nothing / doesn't work.
As i mentioned, the obvious advantage of new VSTO is more features available, for example in ppt 2013, it has event handler when the users do dragging, you should checked them by yourselves. If your solution doesn't need these new features, you can develop it in the previous version of VSTO to make sure the backward compatibility.
I'm trying to be able to bundle an Outlook addin (.dll file) that I've made in C# with a separate msi installer (not the default one created in Visual Studio). The add-in works great using the default setup that Visual Studio creates but I'm looking to install the .dll file using a different msi as to bundle it with another piece of software and I'm not sure what registry values or other details need to be worked out that will allow Outlook for recognize the addin. Thanks for any help!
Please take a look at this tutorial.
http://msdn.microsoft.com/en-us/vsto/ff937654.aspx