<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Mine Field of Excel Development Tools &#8211; Part 6</title>
	<atom:link href="http://nebula-rnd.com/blog/tech/2007/12/excel-tools6.html/feed" rel="self" type="application/rss+xml" />
	<link>http://nebula-rnd.com/blog/tech/2007/12/excel-tools6.html</link>
	<description>Welcome to the Nebula</description>
	<lastBuildDate>Tue, 27 Mar 2012 23:52:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Tony Gravagno</title>
		<link>http://nebula-rnd.com/blog/tech/2007/12/excel-tools6.html/comment-page-1#comment-394</link>
		<dc:creator>Tony Gravagno</dc:creator>
		<pubDate>Thu, 03 Mar 2011 18:57:27 +0000</pubDate>
		<guid isPermaLink="false">http://Nebula-RnD.com/blog/tech/2007/12/excel-tools6.html#comment-394</guid>
		<description>Peter, I thank you for your comments. I see I never finished this series, but I did have some success with Excel development. See my other posting about a product that unfortunately never went production:
http://nebula-rnd.com/blog/tech/2009/03/xchange-intro1.html

Skip the text and just notice that I do have nice formulas like this: =NxRead(&quot;server&quot;,&quot;file,id,atb,val,sv&quot;,&quot;options&quot;).

Then notice the screenshot of the Database Explorer I built into Excel, plus toolbar buttons, etc.

All of that was done with a great product called Add-in Express http://www.add-in-express.com/. I can&#039;t say enough good things about the software, people, and community for that line of products (without drooling on my keyboard). Their helper libraries saved me from all the pains documented in this blog - but by the time I got to savor the tasty goodness of success I had to move on to other business, and I never got to publish that offering. Perhaps one of these days I&#039;ll get a chance.

I strongly encourage Microsoft Office developers to get familiar with the Add-in Express offerings. The documentation might leave you wondering where you separate VSTO from their components, when you need either or both. But the answers are out there, at least you have a choice, and success is on the other side. Just looking at the screenshots you can see some great things done with Excel. End-users look at that and think &quot;I expect this of Excel&quot; but developers like us recognize the pain required to make it all happen, and wonder if it&#039;s even possible outside of Redmond. That pain was eliminated with Add-in Express. (End unintentional and unpaid marketing speech.)

I hope I can find some time just to blog about Add-in Express, which I used successfully for both Excel and IE integration, but unfortunately not for anything for sale yet. Good luck!</description>
		<content:encoded><![CDATA[<p>Peter, I thank you for your comments. I see I never finished this series, but I did have some success with Excel development. See my other posting about a product that unfortunately never went production:<br />
<a href="http://nebula-rnd.com/blog/tech/2009/03/xchange-intro1.html" rel="nofollow">http://nebula-rnd.com/blog/tech/2009/03/xchange-intro1.html</a></p>
<p>Skip the text and just notice that I do have nice formulas like this: =NxRead(&#8220;server&#8221;,&#8221;file,id,atb,val,sv&#8221;,&#8221;options&#8221;).</p>
<p>Then notice the screenshot of the Database Explorer I built into Excel, plus toolbar buttons, etc.</p>
<p>All of that was done with a great product called Add-in Express <a href="http://www.add-in-express.com/" rel="nofollow">http://www.add-in-express.com/</a>. I can&#8217;t say enough good things about the software, people, and community for that line of products (without drooling on my keyboard). Their helper libraries saved me from all the pains documented in this blog &#8211; but by the time I got to savor the tasty goodness of success I had to move on to other business, and I never got to publish that offering. Perhaps one of these days I&#8217;ll get a chance.</p>
<p>I strongly encourage Microsoft Office developers to get familiar with the Add-in Express offerings. The documentation might leave you wondering where you separate VSTO from their components, when you need either or both. But the answers are out there, at least you have a choice, and success is on the other side. Just looking at the screenshots you can see some great things done with Excel. End-users look at that and think &#8220;I expect this of Excel&#8221; but developers like us recognize the pain required to make it all happen, and wonder if it&#8217;s even possible outside of Redmond. That pain was eliminated with Add-in Express. (End unintentional and unpaid marketing speech.)</p>
<p>I hope I can find some time just to blog about Add-in Express, which I used successfully for both Excel and IE integration, but unfortunately not for anything for sale yet. Good luck!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sweetlemon</title>
		<link>http://nebula-rnd.com/blog/tech/2007/12/excel-tools6.html/comment-page-1#comment-393</link>
		<dc:creator>sweetlemon</dc:creator>
		<pubDate>Thu, 03 Mar 2011 14:31:31 +0000</pubDate>
		<guid isPermaLink="false">http://Nebula-RnD.com/blog/tech/2007/12/excel-tools6.html#comment-393</guid>
		<description>Hi Tony,

Great work on this series... wish I had found your blog sooner, it would have saved me a world of hurt!! 

I realize that a couple years have past since the last update here, but nevertheless its still pretty relevant stuff, disappointingly very little has been done by Microsoft to make this diabolical process easier. 

I have spent the last two weeks on getting my automation add-in right, I now have my solution, even though I am still working out all the kinks in production, but at least I have successfully deployed.

I went the route of VSTO with two assemblies (I noticed you wrote about this option somewhere but hadn&#039;t explored it), this was incidental though, had I seen your blog I might have taken a different route... the idea is that they are both COM Visible, strong name signed and the Assembly with my UDF Class implements IDTExtensibility2 with the difference being that it is registered for COM Interoperability... I have to run regasm /codebase it seems on both dll&#039;s after installing and only then does it work. I have seen some Microsoft bug reports about this, that the types don&#039;t get registered correctly unless you explicitly do this.  

I am not well versed yet with all of the semantics, VSTO and COM are  new to me, but I appears I can get a reference to the Excel application using IDExtensibility2, it seems to be the same instance as well but my managed VSTO code resides in another AppDomain so I simply marshal the objects I need using domain.CreateInstanceAndUnwrap, and those objects extend MarshalByRefObject and are serializable so interoperability is quite seamless. 

People suggest performance is not ideal with this approach, but I disagree, its certainly acceptable (they run within the same process for goodness sake) I find its pretty fast (even close to instant), and if you design it well even better. 

I am using the VSTO managed code to preload some large datasets,  and they don&#039;t get too much larger than the ones I have, which I indecently fetch using SOAP Web services, native SQL will be even faster, and these DataSets can even be cached now.

I didn&#039;t go the shim route, in theory that does look like a better option from reading your blog, nevertheless I thought I would share my alternative approach that seems to do the job, being slightly simpler to implement and deploy. 

Cheers!
Peter</description>
		<content:encoded><![CDATA[<p>Hi Tony,</p>
<p>Great work on this series&#8230; wish I had found your blog sooner, it would have saved me a world of hurt!! </p>
<p>I realize that a couple years have past since the last update here, but nevertheless its still pretty relevant stuff, disappointingly very little has been done by Microsoft to make this diabolical process easier. </p>
<p>I have spent the last two weeks on getting my automation add-in right, I now have my solution, even though I am still working out all the kinks in production, but at least I have successfully deployed.</p>
<p>I went the route of VSTO with two assemblies (I noticed you wrote about this option somewhere but hadn&#8217;t explored it), this was incidental though, had I seen your blog I might have taken a different route&#8230; the idea is that they are both COM Visible, strong name signed and the Assembly with my UDF Class implements IDTExtensibility2 with the difference being that it is registered for COM Interoperability&#8230; I have to run regasm /codebase it seems on both dll&#8217;s after installing and only then does it work. I have seen some Microsoft bug reports about this, that the types don&#8217;t get registered correctly unless you explicitly do this.  </p>
<p>I am not well versed yet with all of the semantics, VSTO and COM are  new to me, but I appears I can get a reference to the Excel application using IDExtensibility2, it seems to be the same instance as well but my managed VSTO code resides in another AppDomain so I simply marshal the objects I need using domain.CreateInstanceAndUnwrap, and those objects extend MarshalByRefObject and are serializable so interoperability is quite seamless. </p>
<p>People suggest performance is not ideal with this approach, but I disagree, its certainly acceptable (they run within the same process for goodness sake) I find its pretty fast (even close to instant), and if you design it well even better. </p>
<p>I am using the VSTO managed code to preload some large datasets,  and they don&#8217;t get too much larger than the ones I have, which I indecently fetch using SOAP Web services, native SQL will be even faster, and these DataSets can even be cached now.</p>
<p>I didn&#8217;t go the shim route, in theory that does look like a better option from reading your blog, nevertheless I thought I would share my alternative approach that seems to do the job, being slightly simpler to implement and deploy. </p>
<p>Cheers!<br />
Peter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Gravagno</title>
		<link>http://nebula-rnd.com/blog/tech/2007/12/excel-tools6.html/comment-page-1#comment-274</link>
		<dc:creator>Tony Gravagno</dc:creator>
		<pubDate>Wed, 16 Jan 2008 19:29:35 +0000</pubDate>
		<guid isPermaLink="false">http://Nebula-RnD.com/blog/tech/2007/12/excel-tools6.html#comment-274</guid>
		<description>Holy Cow, that looks so promising!&#160; Thanks Tim, I&#039;ll check it out within the next couple weeks (travelling).</description>
		<content:encoded><![CDATA[<p>Holy Cow, that looks so promising!&nbsp; Thanks Tim, I&#8217;ll check it out within the next couple weeks (travelling).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tinymoth</title>
		<link>http://nebula-rnd.com/blog/tech/2007/12/excel-tools6.html/comment-page-1#comment-273</link>
		<dc:creator>tinymoth</dc:creator>
		<pubDate>Wed, 16 Jan 2008 15:48:41 +0000</pubDate>
		<guid isPermaLink="false">http://Nebula-RnD.com/blog/tech/2007/12/excel-tools6.html#comment-273</guid>
		<description>Hi,
KB908002 (&lt;a href=&quot;http://support.microsoft.com/kb/908002&quot; rel=&quot;nofollow&quot;&gt;http://support.microsoft.com/kb/908002&lt;/a&gt;) seems to fix the problems, sort of.
I had the same problem you did. Plenty of simple examples that worked on the VS machine that failed to work on a target without any messages anywhere!
Although I haven&#039;t tested the truth of it yet, the KB does state you need to run the patches for each user :-(
Good luck,
Tim</description>
		<content:encoded><![CDATA[<p>Hi,<br />
KB908002 (<a href="http://support.microsoft.com/kb/908002" rel="nofollow">http://support.microsoft.com/kb/908002</a>) seems to fix the problems, sort of.<br />
I had the same problem you did. Plenty of simple examples that worked on the VS machine that failed to work on a target without any messages anywhere!<br />
Although I haven&#8217;t tested the truth of it yet, the KB does state you need to run the patches for each user <img src='http://nebula-rnd.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /><br />
Good luck,<br />
Tim</p>
]]></content:encoded>
	</item>
</channel>
</rss>

