<?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: Dealing with user cancellation of slow macro	</title>
	<atom:link href="https://twentythirdfloor.co.za/2009/09/10/dealing-with-user-cancellation-of-slow-macro/feed/" rel="self" type="application/rss+xml" />
	<link>https://twentythirdfloor.co.za/2009/09/10/dealing-with-user-cancellation-of-slow-macro/</link>
	<description>Perspectives</description>
	<lastBuildDate>Mon, 15 Feb 2010 21:32:14 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>
		By: David Kirk		</title>
		<link>https://twentythirdfloor.co.za/2009/09/10/dealing-with-user-cancellation-of-slow-macro/comment-page-1/#comment-15146</link>

		<dc:creator><![CDATA[David Kirk]]></dc:creator>
		<pubDate>Thu, 10 Sep 2009 16:56:31 +0000</pubDate>
		<guid isPermaLink="false">http://twentythirdfloor.co.za/?p=425#comment-15146</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://twentythirdfloor.co.za/2009/09/10/dealing-with-user-cancellation-of-slow-macro/comment-page-1/#comment-15145&quot;&gt;Francois Botha&lt;/a&gt;.

Right you are as a developer / programmer. However, VBA has a huge part to play (factually it does, as well as should) in more complex models developed by excel users  rather than &quot;real&quot; programmers. There is very little OOP required for 99% of VBA that is still massively useful.

Incidentally, the Binomial Tree model I built in VBA uses OOP and a linked tree data structure. It&#039;s not the fastest thing on the planet, but the guys who work with me can all hack their way through the basic ideas.

I&#039;d almost suggest that there are several tiers of the use of VBA and .NET in conjunction with Excel:

	&lt;strong&gt;Hacked recorded macros to repeat tasks.&lt;/strong&gt; Useful but dangerous, ugly and risk-prone. Still makes Excel more useful than without this, and requires no programming knowledge at all
	&lt;strong&gt;Coded macros with little structure and manually defined ranges.&lt;/strong&gt; Possibly the most dangerous, and the one area I don&#039;t think should  be promoted at all.
	&lt;strong&gt;Well-coded, but basic User defined functions.&lt;/strong&gt; This is a great space. No risk of deleting cells and ranges or breaking things, but provides additional functionality and encapsulation of more complex tasks. I find this works well when providing a complex  model to a client, so the code is hidden in the background and the use of the model is still non-VBA excel based.
	&lt;strong&gt;Well coded VBA code, possibly including forms and a UI.&lt;/strong&gt;   Can be useful, but starts to suggest the need for a more structured programming approach.
	&lt;strong&gt;Non-VBA, .NET or DLL approach.&lt;/strong&gt; More advanced, more structured, faster, but much more limited in terms of the number of people who can do this. Often, it becomes clear that the model probably shouldn&#039;t be excel-based in the first place!


So there really is a range of applications on a continuum of skill-requirements. You and I have already had discussions around hammers and nails for that matter!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://twentythirdfloor.co.za/2009/09/10/dealing-with-user-cancellation-of-slow-macro/comment-page-1/#comment-15145">Francois Botha</a>.</p>
<p>Right you are as a developer / programmer. However, VBA has a huge part to play (factually it does, as well as should) in more complex models developed by excel users  rather than &#8220;real&#8221; programmers. There is very little OOP required for 99% of VBA that is still massively useful.</p>
<p>Incidentally, the Binomial Tree model I built in VBA uses OOP and a linked tree data structure. It&#8217;s not the fastest thing on the planet, but the guys who work with me can all hack their way through the basic ideas.</p>
<p>I&#8217;d almost suggest that there are several tiers of the use of VBA and .NET in conjunction with Excel:</p>
<p>	<strong>Hacked recorded macros to repeat tasks.</strong> Useful but dangerous, ugly and risk-prone. Still makes Excel more useful than without this, and requires no programming knowledge at all<br />
	<strong>Coded macros with little structure and manually defined ranges.</strong> Possibly the most dangerous, and the one area I don&#8217;t think should  be promoted at all.<br />
	<strong>Well-coded, but basic User defined functions.</strong> This is a great space. No risk of deleting cells and ranges or breaking things, but provides additional functionality and encapsulation of more complex tasks. I find this works well when providing a complex  model to a client, so the code is hidden in the background and the use of the model is still non-VBA excel based.<br />
	<strong>Well coded VBA code, possibly including forms and a UI.</strong>   Can be useful, but starts to suggest the need for a more structured programming approach.<br />
	<strong>Non-VBA, .NET or DLL approach.</strong> More advanced, more structured, faster, but much more limited in terms of the number of people who can do this. Often, it becomes clear that the model probably shouldn&#8217;t be excel-based in the first place!</p>
<p>So there really is a range of applications on a continuum of skill-requirements. You and I have already had discussions around hammers and nails for that matter!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Francois Botha		</title>
		<link>https://twentythirdfloor.co.za/2009/09/10/dealing-with-user-cancellation-of-slow-macro/comment-page-1/#comment-15145</link>

		<dc:creator><![CDATA[Francois Botha]]></dc:creator>
		<pubDate>Thu, 10 Sep 2009 12:00:11 +0000</pubDate>
		<guid isPermaLink="false">http://twentythirdfloor.co.za/?p=425#comment-15145</guid>

					<description><![CDATA[I&#039;m really not a big fan of VBA. Version control is a mess, it often lacks decent object orientation (although it is possible) and you miss out on a lot of features provided by a framework like .NET.

Furthermore, long running macros should actually be written as a decent COM component that exposes its interface with asynchronous calls, so that the Excel UI isn&#039;t locked up.  That should enable the user to continue working on another workbook while the COM component does it stuff with the initial workbook.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really not a big fan of VBA. Version control is a mess, it often lacks decent object orientation (although it is possible) and you miss out on a lot of features provided by a framework like .NET.</p>
<p>Furthermore, long running macros should actually be written as a decent COM component that exposes its interface with asynchronous calls, so that the Excel UI isn&#8217;t locked up.  That should enable the user to continue working on another workbook while the COM component does it stuff with the initial workbook.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
