Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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/ |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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/ |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Programatically adding macro to Excel - "ThisWorkbook" | Excel Discussion (Misc queries) | |||
how to determine excel service pack programatically? | Excel Discussion (Misc queries) | |||
How to determine programatically if Excel is installed | Excel Discussion (Misc queries) | |||
Creating a PDF file programatically from Excel | Excel Discussion (Misc queries) | |||
Excel crashing when (programatically) adding past the 360th worksheet to a workbook | Excel Programming |