![]() |
Define Excel Addin programatically
Hi,
I am using C# to use Excel COM object to add and set up an add-in. Here, I am using Late Binding concept. Following code allows me to just open Excel from my program (just to prove it works). object ExelAppObject; ExcelAppType = Type.GetTypeFromProgID("Excel.Application"); ExelAppObject = Activator.CreateInstance(ExcelAppType); objArray = new object[] {true}; retObj = ExcelAppType.InvokeMember("Visible", BindingFlags.SetProperty, null, ExelAppObject , objArray); Now, I want to setup the addin. So get the AddIns object collection with following: object addIns = ExcelAppType.InvokeMember("AddIns", BindingFlags.GetProperty, null, ExelAppObject, null); At this point, I get the COM object returns to my code and now I try to add the Add-In. objArray = new object[] {xllPath}; object addIn = addIns.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, addIns, objArray); Where xllPath is the file name with the path. This throws an error saying that remote object got an exception. Anybody has an idea how to do this? Anyway, the Early Binding is not a solution due to the version problem. Many thanks SAM ------------------------------------------------ ~~ Message posted from http://www.ExcelTip.com/ ~~ View and post usenet messages directly from http://www.ExcelForum.com/ |
Define Excel Addin programatically
Not exactly what you are asking for, but do you have a compelling reason to
use C# for this? I would personally create any add-in for Excel in VB6, for the time being. C# is a pain in the #$#$ with com.....I would shy away unless necessary. Aside from cross-process marshelling, it is plain flat not convenient to use com objects in C#. Just my 2cents! Bill Barclift "samdesilva" wrote in message ... Hi, I am using C# to use Excel COM object to add and set up an add-in. Here, I am using Late Binding concept. Following code allows me to just open Excel from my program (just to prove it works). object ExelAppObject; ExcelAppType = Type.GetTypeFromProgID("Excel.Application"); ExelAppObject = Activator.CreateInstance(ExcelAppType); objArray = new object[] {true}; retObj = ExcelAppType.InvokeMember("Visible", BindingFlags.SetProperty, null, ExelAppObject , objArray); Now, I want to setup the addin. So get the AddIns object collection with following: object addIns = ExcelAppType.InvokeMember("AddIns", BindingFlags.GetProperty, null, ExelAppObject, null); At this point, I get the COM object returns to my code and now I try to add the Add-In. objArray = new object[] {xllPath}; object addIn = addIns.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, addIns, objArray); Where xllPath is the file name with the path. This throws an error saying that remote object got an exception. Anybody has an idea how to do this? Anyway, the Early Binding is not a solution due to the version problem. Many thanks SAM ------------------------------------------------ ~~ Message posted from http://www.ExcelTip.com/ ~~ View and post usenet messages directly from http://www.ExcelForum.com/ |
All times are GMT +1. The time now is 05:12 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com