<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>OOP - There It Is - InterOp</title>
    <link>http://www.vpsw.com/blogbaby/</link>
    <description>A Very Practical Blog</description>
    <language>en-us</language>
    <copyright>Dean Fiala</copyright>
    <lastBuildDate>Thu, 02 Mar 2006 03:45:02 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.8102.813</generator>
    <managingEditor>dfiala@vpsw.com</managingEditor>
    <webMaster>dfiala@vpsw.com</webMaster>
    <item>
      <trackback:ping>http://www.vpsw.com/blogbaby/Trackback.aspx?guid=471a79a6-34ee-42ab-84c0-6d4097cf44b9</trackback:ping>
      <pingback:server>http://www.vpsw.com/blogbaby/pingback.aspx</pingback:server>
      <pingback:target>http://www.vpsw.com/blogbaby/PermaLink,guid,471a79a6-34ee-42ab-84c0-6d4097cf44b9.aspx</pingback:target>
      <dc:creator>Dean</dc:creator>
      <wfw:comment>http://www.vpsw.com/blogbaby/CommentView,guid,471a79a6-34ee-42ab-84c0-6d4097cf44b9.aspx</wfw:comment>
      <wfw:commentRss>http://www.vpsw.com/blogbaby/SyndicationService.asmx/GetEntryCommentsRss?guid=471a79a6-34ee-42ab-84c0-6d4097cf44b9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I've been seeing everything as base classes
lately. Not sure it is a good thing or a sign of insanity.<br /><br />
Had to do some driving of Excel from a web app -- not really something one should
do as a matter of course -- but sometimes business requirements force more insanity
than usual.<br /><br />
But I decided as long as I was going go insane, I was only going to do it once, so
I created a base class that wrapped up all the goodies to open and close a workbook,
get cell values, set cell values, etc. Excel exposes everything via COM.  .NET
sets up the InterOp automatically, but if you've worked with automating Office apps,
you know they are finicky about closing cleanly, so the destructor handles closing
the workbook and quiting the app.  Works very nicely.<br /><p></p><img width="0" height="0" src="http://www.vpsw.com/blogbaby/aggbug.ashx?id=471a79a6-34ee-42ab-84c0-6d4097cf44b9" /></body>
      <title>Objects, Objects Everywhere</title>
      <guid isPermaLink="false">http://www.vpsw.com/blogbaby/PermaLink,guid,471a79a6-34ee-42ab-84c0-6d4097cf44b9.aspx</guid>
      <link>http://www.vpsw.com/blogbaby/PermaLink,guid,471a79a6-34ee-42ab-84c0-6d4097cf44b9.aspx</link>
      <pubDate>Thu, 02 Mar 2006 03:45:02 GMT</pubDate>
      <description>I've been seeing everything as base classes lately. Not sure it is a good thing or a sign of insanity.&lt;br&gt;
&lt;br&gt;
Had to do some driving of Excel from a web app -- not really something one should
do as a matter of course -- but sometimes business requirements force more insanity
than usual.&lt;br&gt;
&lt;br&gt;
But I decided as long as I was going go insane, I was only going to do it once, so
I created a base class that wrapped up all the goodies to open and close a workbook,
get cell values, set cell values, etc. Excel exposes everything via COM.&amp;nbsp; .NET
sets up the InterOp automatically, but if you've worked with automating Office apps,
you know they are finicky about closing cleanly, so the destructor handles closing
the workbook and quiting the app.&amp;nbsp; Works very nicely.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vpsw.com/blogbaby/aggbug.ashx?id=471a79a6-34ee-42ab-84c0-6d4097cf44b9" /&gt;</description>
      <comments>http://www.vpsw.com/blogbaby/CommentView,guid,471a79a6-34ee-42ab-84c0-6d4097cf44b9.aspx</comments>
      <category>.NET</category>
      <category>Excel</category>
      <category>InterOp</category>
    </item>
  </channel>
</rss>