<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>VSTO &#38; .NET &#38; Excel</title>
	<atom:link href="http://xldennis.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://xldennis.wordpress.com</link>
	<description>XL-Dennis on VSTO &#38; .NET &#38; Excel</description>
	<lastBuildDate>Tue, 03 Nov 2009 23:56:57 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='xldennis.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a77fe66f100490a72502c4198ac29c4f?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>VSTO &#38; .NET &#38; Excel</title>
		<link>http://xldennis.wordpress.com</link>
	</image>
			<item>
		<title>The New Package; Windows 7, VS.NET 2010 and Office 2010</title>
		<link>http://xldennis.wordpress.com/2009/10/25/the-new-package-windows-7-vs-net-2010-and-office-2010/</link>
		<comments>http://xldennis.wordpress.com/2009/10/25/the-new-package-windows-7-vs-net-2010-and-office-2010/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 23:55:10 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET & Excel]]></category>
		<category><![CDATA[COM Add-ins]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=791</guid>
		<description><![CDATA[To create a workable structure I have always grouped individual new versions of Windows, VS.NET, VSTO and Office together. The present groups I work with are:

Windows XP, VS.NET 2005, VSTO 2005 SE, SharePoint 2003 and Office XP/Office 2003
Windows Vista, VS.NET 2008, VSTO 3.0, SharePoint 2007 and Office 2007
Windows 7, VS.NET 2010, VSTO 4.0 SharePoint 2010 and Office 2010

The list also reflects my different [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=791&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>To create a workable structure I have always grouped individual new versions of Windows, VS.NET, VSTO and Office together. The present groups I work with are:</p>
<ul>
<li>Windows XP, VS.NET 2005, VSTO 2005 SE, SharePoint 2003 and Office XP/Office 2003</li>
<li>Windows Vista, VS.NET 2008, VSTO 3.0, SharePoint 2007 and Office 2007</li>
<li>Windows 7, VS.NET 2010, VSTO 4.0 SharePoint 2010 and Office 2010</li>
</ul>
<p>The list also reflects my different configuration guest systems on the VMware platform. I have recently replaced Windows Vista 64-bit with Windows 7 64-bit as my host system. The grouping can also be said to represent the optimal situation where we develop solutions with the .NET/VSTO version included targeting the Office version(s) included. At least that is my experience.</p>
<p>While Windows 7 RTM has been released VS.NET 2010 and Office 2010 are still in the beta stage as of this writing. Beta 2 of VS.NET 2010 came out this week while Office 2010 officially still is in beta 1. To complete the picture; Exchange 2010 RTM seems to be around the corner and <a href="http://sharepoint2010.microsoft.com/Pages/default.aspx" target="_blank">SharePoint 2010</a> will soon be in the beta stage.</p>
<p>I have been taking part of the Office beta testing but only for Excel. I have no intention to make any walkthrough about what is new in Excel 2010. It already exist a great number of blogposts and sites that cover all the news in detail like <a href="http://blogs.msdn.com/excel/default.aspx" target="_blank">Microsoft Excel Team Blog</a> and <a href="http://blogs.technet.com/office2010/" target="_blank">Microsoft Office 2010 Engineering</a>. </p>
<p>As for the operating system the real successor to Windows XP is Windows 7 and not Windows Vista . The later will probably get the same position as Windows ME already have in all history books. With Windows 7 we get a modern operating system, with more secured network functions, a flexible User Acess Control (UAC) together with a new folder system and improved tools for music and video. Despite all the new &#8220;whistle and bells&#8221; it is as fast as Windows XP for all kind of operations, including file operations. </p>
<p>The news in VS.NET 2010 is nearly all about SharePoint developing. VB.NET has also been improved and among other things working with <a href="http://msdn.microsoft.com/en-us/magazine/ee358704.aspx" target="_blank">Collection and Array Initializers</a> have been improved and added. As for the other languages I have not been testing anyone of them. The major news in the Beta 2 version is that VSTO 4.0 now is included. At present I&#8217;m evaluating VSTO 4.0 so I will get back to it in an upcoming blogpost.</p>
<p>Office 2010 includes news for all the softwares in the suite and will also be better integrated with SharePoint than any previously version. With Office 2010 we also get a new Web based Office suite. My major concern is Excel 2010 desktop version so the other tools as well as the Web based suite are less important to me. Unlike Office 2007 we now can customize the Ribbon UI via a built-in UI and Outlook 2010 has now also fully implemented the Ribbon UI. As a developer I was rather negative surprised when it turned out that we did not get any more events methods in code to control the Ribbon UI with. The Office Button has, together with its content, been revised and improved. The new programming language did not made it to this version so it looks like we will have to wait for Office 15.0.</p>
<p>For Excel 2010 the major news is that we finally have got a 64-bit version of it &#8211; Please see the discussion about the 64-bit version here: <a href="http://blogs.msdn.com/excel/archive/2009/08/28/excel-2010-now-with-more-bits.aspx" target="_blank">Excel 2010 – Now With More Bits!</a>. With the 64-bit version it is possible to work with really large datasets which can consume more memory then 4 GB. The future will tell us to which degree we need to develop separated solutions for the 64-bit and 32-bit version of Excel.</p>
<p>Microsoft continues to develop the management of large datasets including data analyse, especially data visualization in Excel. Among the news in Excel 2010 are SparkLines and an improved Pivot Table tool including Slicers. The later allows us to filter data in real-time and when the data is updated so are the Slicers updated. The integration between Excel and SQL Server will in general be handle by the Business Intelligence tool (BI) <a href="http://www.powerpivot.com/" target="_blank">Microsoft SQL Server PowerPivot for Excel</a> which is an add-in to Excel 2010.</p>
<p>I must honestly say that Microsoft has managed to put the pieces together with the new versions and my overall impression of all the software are positive. Next year will be the year when Microsoft will have a complete updated versions of all the server platforms as well as the other software suites. That is impressive!</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/791/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/791/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/791/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=791&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/10/25/the-new-package-windows-7-vs-net-2010-and-office-2010/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>
	</item>
		<item>
		<title>Install and Activate Add-ins in Excel with SamLogic&#8217;s Visual Installer</title>
		<link>http://xldennis.wordpress.com/2009/10/17/install-and-activate-add-ins-in-excel-with-visual-installer/</link>
		<comments>http://xldennis.wordpress.com/2009/10/17/install-and-activate-add-ins-in-excel-with-visual-installer/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 23:10:23 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[COM Add-ins]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=752</guid>
		<description><![CDATA[In the first part of this post I discuss how to work with the collection of add-ins as well as individual add-ins in Excel when using VB.NET/VSTO. In the second part the installation tool Visual Installer will be discussed in terms of installing and activating native add-ins in Excel.
Part I &#8211; Add-ins
When working with add-ins we [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=752&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In the first part of this post I discuss how to work with the collection of add-ins as well as individual add-ins in Excel when using VB.NET/VSTO. In the second part the installation tool <a href="http://www.samlogic.com/vi/vi.htm" target="_blank">Visual Installer</a> will be discussed in terms of installing and activating native add-ins in Excel.</p>
<p><strong>Part I &#8211; Add-ins</strong><br />
When working with add-ins we need to separate native add-ins and unmanaged/managed COM and VSTO add-ins from each other. In this example I use a VSTO add-in to call the collections and add-ins.</p>
<p>If we want to load, i.e. activate, an add-in during a session the code below shows how to do it:</p>
<pre class="brush: css;">
Private Const m_sXLDATA As String = &quot;Data.xlsm&quot;
Private Const m_sXLAREPORT As String = &quot;C:\Data\Report.xlam&quot;
Private Const m_sXLAREPORT_DISPLAYNAME As String = &quot;Report&quot;

Private Sub Application_WorkbookOpen( _
                ByVal Wb As Microsoft.Office.Interop.Excel.Workbook) _
                Handles Application.WorkbookOpen

        Try
            If Wb.Name.ToString() = m_sXLDATA Then
                With Globals.ThisAddIn.Application
                    .AddIns.Add(Filename:=m_sXLAREPORT)
                    .AddIns(m_sXLAREPORT_DISPLAYNAME).Installed = True
                End With
            End If
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        End Try

End Sub

Private Sub Application_WorkbookBeforeClose( _
                ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, _
                ByRef Cancel As Boolean) _
                Handles Application.WorkbookBeforeClose

        Dim xlAddin As Excel.AddIn = Nothing

        Try
            If Wb.Name.ToString = m_sXLDATA Then
                For Each xlAddin In _
                Globals.ThisAddIn.Application.AddIns
                    If xlAddin.FullName = m_sXLAREPORT Then
                        xlAddin.Installed = False
                        Exit For
                    End If
                Next
            End If
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        End Try

End Sub
</pre>
<p>As we can see it does not differ from how we do it in VBA. If we want to load a COM add-in or a VSTO add-in it can be done in the following way:</p>
<pre class="brush: css;">
Private m_xlCOMAddins As Office.COMAddIns
Private m_xlCOMData As Office.COMAddIn

Private Const m_sXLDATA As String = &quot;Data.xlsm&quot;
Private Const m_sXLDATAANALYZE As String = &quot;SQL Tester NET 2010.AddinModule&quot;

Private Sub Application_WorkbookOpen( _
                ByVal Wb As Microsoft.Office.Interop.Excel.Workbook) _
                Handles Application.WorkbookOpen

        m_xlCOMAddins = Globals.ThisAddIn.Application.COMAddIns
        m_xlCOMData = m_xlCOMAddins.Item(m_sXLDATAANALYZE)

        Try
            If Wb.Name.ToString() = m_sXLDATA Then
                If m_xlCOMData.Connect = False Then _
                m_xlCOMData.Connect = True
            End If
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        End Try

End Sub

Private Sub Application_WorkbookBeforeClose( _
                ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, _
                ByRef Cancel As Boolean) _
                Handles Application.WorkbookBeforeClose

        m_xlCOMAddins = Globals.ThisAddIn.Application.COMAddIns
        m_xlCOMData = m_xlCOMAddins.Item(m_sXLDATAANALYZE)

        Try
            If Wb.Name.ToString = m_sXLDATA Then
                If m_xlCOMData.Connect Then _
                m_xlCOMData.Connect = False
            End If
        Catch ex As Exception
            MsgBox(ex.Message.ToString())
        End Try

End Sub
</pre>
<p>Again, it does not differ from how it&#8217;s done in VBA.</p>
<p><strong>Part 2 SamLogic&#8217;s Visual Installer</strong><br />
In the past I have made comments on various blogs and at Q&amp;A forums about an installation tool that can help us with the installation and with the activation of native Excel add-ins in a smooth way. I finally decided to make a blogpost about this superb tool. I have been using it for years and so far I have not seen any other tool that makes it so easy to set up the installation instructions. The software I talk about is <a href="http://www.samlogic.com/vi/vi.htm" target="_blank">Visual Installer 2008</a> from the Swedish company <a href="http://www.samlogic.com/" target="_blank">SamLogic</a>.</p>
<p>At present Visual Installer 2008 is available in Swedish but it can create set up packages in English. Anyway, whenever I need to distribute native add-ins and related files I use it. It also works great with .NET packages including managed COM add-ins.</p>
<p>For the demonstration purpose here I use an add-in with name Report.xlam. To set it up in Visual Installer it only requires one line (!) as the below screen shot show:</p>
<p style="text-align:center;"><img class="size-full wp-image-768  aligncenter" title="Visual Installer 2008" src="http://xldennis.files.wordpress.com/2009/10/visual-installer-2008.png?w=535&#038;h=311" alt="Visual Installer 2008" width="535" height="311" /></p>
<p>The command XLADDIN trigger Visual Installer to add the required entry in the Windows Registry. After the installation the entry exist in the Registry as the following screen shot shows (OPEN5): </p>
<p style="text-align:center;"><img class="size-full wp-image-766  aligncenter" title="Windows Registry Entry" src="http://xldennis.files.wordpress.com/2009/10/windows-registry-entry.png?w=514&#038;h=463" alt="Windows Registry Entry" width="514" height="463" /></p>
<p>When we uninstall the add-in the entry in the Windows Registry is silently removed. All in all, I find it to be an excellent companion.</p>
<p>Although I do not agree I know some VBA developers that have several Excel versions installed side by side. When using Visual Installer the add-ins are installed once but are registered for all available Excel versions on configurations with multiply versions installed.</p>
<p>The next version, i.e. Visual Installer 2010, will also support the 64-bits Windows platform as well as Windows 7.</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/752/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=752&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/10/17/install-and-activate-add-ins-in-excel-with-visual-installer/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/10/visual-installer-2008.png" medium="image">
			<media:title type="html">Visual Installer 2008</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/10/windows-registry-entry.png" medium="image">
			<media:title type="html">Windows Registry Entry</media:title>
		</media:content>
	</item>
		<item>
		<title>Goodbye Radio Buttons!</title>
		<link>http://xldennis.wordpress.com/2009/09/09/goodbye-radio-buttons/</link>
		<comments>http://xldennis.wordpress.com/2009/09/09/goodbye-radio-buttons/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 10:20:58 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET & Excel]]></category>
		<category><![CDATA[COM Add-ins]]></category>
		<category><![CDATA[UI Design]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=718</guid>
		<description><![CDATA[For years I have been using the Radio Button control in many of my solutions (where it has been appropriated). When using the control it was usually together with the Group Box control. The following screen shot shows a common approach when using these two controls together and where users are supposed to select one of the three options. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=718&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For years I have been using the Radio Button control in many of my solutions (where it has been appropriated). When using the control it was usually together with the Group Box control. The following screen shot shows a common approach when using these two controls together and where users are supposed to select one of the three options. Typically one of the Radio Buttons is also pre-checked when the Windows Form is loaded.</p>
<p style="text-align:center;"><img class="size-full wp-image-723  aligncenter" title="RadioButtons" src="http://xldennis.files.wordpress.com/2009/09/radiobuttons.png?w=132&#038;h=95" alt="RadioButtons" width="132" height="95" /></p>
<p>When designing the UI and consider to use Radio Buttons the question we should raise is; <strong><em>when is the number of items relevant to the end users</em></strong>? My answer is when the users are about to make a selection, not before and not after that decision point. After the decision has been made the selected item should be viewed. </p>
<p>This lead to a new standpoint, at least to me, when designing UI; instead of a group of Radio Button controls we replace them with a Combo Box control as the following screen shot show:</p>
<p style="text-align:center;"><img class="size-full wp-image-724  aligncenter" title="Comboboxes" src="http://xldennis.files.wordpress.com/2009/09/comboboxes.png?w=116&#038;h=86" alt="Comboboxes" width="116" height="86" /></p>
<p>When the Windows Form is loaded we have the same option as with Radio Buttons; to have one (or more) item(s) selected or to have no no item pre-selected. When the users have made their decisions the selected item is showed in the control. Consequently,  the UI gets cleaner and the Windows form may even be down sized. Of course, the same discussion can be applied to the List Box control.</p>
<p>All in all, for all my future projects I will simple drop the Radion Button control and instead use the Combo Box control. Do You agree?</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/718/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/718/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/718/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/718/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/718/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/718/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/718/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/718/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/718/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/718/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=718&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/09/09/goodbye-radio-buttons/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/09/radiobuttons.png" medium="image">
			<media:title type="html">RadioButtons</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/09/comboboxes.png" medium="image">
			<media:title type="html">Comboboxes</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft Chart Control for .NET</title>
		<link>http://xldennis.wordpress.com/2009/09/02/microsoft-chart-controls-for-net/</link>
		<comments>http://xldennis.wordpress.com/2009/09/02/microsoft-chart-controls-for-net/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 08:39:12 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET & Excel]]></category>
		<category><![CDATA[Charts components]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=698</guid>
		<description><![CDATA[In 2007 Microsoft aquired Dundas Data Visualization but Dundas still remains as a standalone company. What matters is that by acquiring Dundas Microsoft got access to all the Dundas .NET controls. Last year Microsoft made the Chart control available for free. Originally the Chart control comes from Dundas but  Microsoft has done an update of its code base so it fits better with Visual Studio.
So far [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=698&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In 2007 Microsoft aquired <a href="http://www.dundas.com/" target="_blank">Dundas Data Visualization</a> but Dundas still remains as a standalone company. What matters is that by acquiring Dundas Microsoft got access to all the Dundas .NET controls. Last year Microsoft made the Chart control available for free. Originally the Chart control comes from Dundas but  Microsoft has done an update of its code base so it fits better with Visual Studio.</p>
<p>So far Microsoft have only provided some basic controls in Visual Studio and has let other providers to provide more advanced commercial controls. But with the Chart control they make an exception and provide an excellent control for free. Perhaps we will see more of that in the future?</p>
<p>I find the Chart control to be a great companion into my solutions where it requires some data presentation in terms of charts. Due to this I believe it deserves to be more highlighted within the Excel and .NET developing communities.</p>
<p> Initially I planned to create a sample and discuss it in more detail however because MSFT has made over 200 samples available there are no reasons why I just should repeat some of these samples here. Actually, the sample collection is very nice and all the code samples can be viewed in both C# and VB.NET as the below screen shot shows.</p>
<p><img class="aligncenter size-full wp-image-704" title="Samples" src="http://xldennis.files.wordpress.com/2009/09/samples.png?w=856&#038;h=629" alt="Samples" width="856" height="629" /></p>
<p>What should be noted is that we cannot place the control on worksheets when creating document centric VSTO solutions. But on the other hand we don&#8217;t need to use it like that as we have access to Excel&#8217;s nice built-in chart control.</p>
<p> For more information and to download please see the following links:</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;displaylang=en" target="_blank">Microsoft Chart Controls for Microsoft .NET Framework 3.5</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;displaylang=en" target="_blank">Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&amp;displaylang=en" target="_blank">Microsoft Chart Controls for .NET Framework Documentation</a></li>
<li><a href="http://code.msdn.microsoft.com/mschart" target="_blank">Samples Environment for Microsoft Chart Controls</a></li>
</ul>
<p>A great blog about the Chart control is <a href="http://blogs.msdn.com/alexgor/" target="_blank">Alex Gorev&#8217;s Weblog</a>.</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/698/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/698/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/698/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/698/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/698/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/698/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/698/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/698/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/698/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/698/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=698&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/09/02/microsoft-chart-controls-for-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/09/samples.png" medium="image">
			<media:title type="html">Samples</media:title>
		</media:content>
	</item>
		<item>
		<title>Check which Windows version is running</title>
		<link>http://xldennis.wordpress.com/2009/08/15/check-which-windows-version-is-running/</link>
		<comments>http://xldennis.wordpress.com/2009/08/15/check-which-windows-version-is-running/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 10:51:49 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET & Excel]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=664</guid>
		<description><![CDATA[In the second edition of PED we introduce a new area; Creating Cross Version Applications. That is, to develop solutions that must run with all Excel versions and Windows versions using a single code base. I will not discuss how to code against different Excel versions. Instead I set focus on running .NET solutions on different [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=664&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In the <a href="http://xldennis.wordpress.com/2009/05/19/the-2nd-edition-of-professional-excel-development-ped-is-available/" target="_blank">second edition of PED </a>we introduce a new area; Creating Cross Version Applications. That is, to develop solutions that must run with all Excel versions and Windows versions using a single code base. I will not discuss how to code against different Excel versions. Instead I set focus on running .NET solutions on different Windows versions, i.e. Windows 2000/Windows XP and Windows Vista/Windows 7.  It should be noted that I have previously blogged how to <a href="http://xldennis.wordpress.com/2008/04/27/check-which-excel-version-is-installed/" target="_blank">check which Excel version </a>that is installed.</p>
<p>With Windows 2000 and Windows XP we know that the user accounts are available in paths like:<br />
<em>C:\Documents and Settings\Dennis</em></p>
<p>In Windows Vista and Windows 7 the user accounts are located in  paths like:<br />
<em>C:\Users\Dennis</em></p>
<p>Given this information we can rather easily code for different Windows versions in VB.NET. First we need to find out which Windows version that the targeting computers use. As the code shows below the namespace <strong>My.Computer</strong> <a href="http://xldennis.wordpress.com/2009/08/04/connected-to-the-network/" target="_blank">once again</a> comes to our rescue.</p>
<p>In the next step we retrieve the current user&#8217;s identity which is carried out by the <strong>SystemInformation</strong> namespace. Finally we put it together with the help from the StringBuilder namespace.</p>
<p style="text-align:center;"><img class="size-full wp-image-690  aligncenter" title="Code Windows Version and current user 1" src="http://xldennis.files.wordpress.com/2009/08/code-windows-version-and-current-user-1.png?w=718&#038;h=716" alt="Code Windows Version and current user 1" width="718" height="716" /></p>
<p>When we run the code on a Windows Vista configuration we get the following information: </p>
<p style="text-align:center;"><img class="size-full wp-image-682            aligncenter" title="Output when running on Windows Vista" src="http://xldennis.files.wordpress.com/2009/08/output-when-running-on-windows-vista.png?w=344&#038;h=142" alt="Output when running on Windows Vista" width="344" height="142" /></p>
<p>When the User Access Control (UAC) is turned on (Windows Vista/Windows 7) we cannot access the c:\ root unless we run as administrator. But no matter the UAC status we can always access the current user&#8217;s folder system. In that way we can write and read files to the user&#8217;s folders in addition to the above.</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/664/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/664/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/664/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=664&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/08/15/check-which-windows-version-is-running/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/08/code-windows-version-and-current-user-1.png" medium="image">
			<media:title type="html">Code Windows Version and current user 1</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/08/output-when-running-on-windows-vista.png" medium="image">
			<media:title type="html">Output when running on Windows Vista</media:title>
		</media:content>
	</item>
		<item>
		<title>Excel Loader New Version Released</title>
		<link>http://xldennis.wordpress.com/2009/08/09/excel-loader-new-version-released/</link>
		<comments>http://xldennis.wordpress.com/2009/08/09/excel-loader-new-version-released/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 22:49:49 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[XL-Dennis' freewares]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=666</guid>
		<description><![CDATA[Excel Loader is a free standalone utility that let the user choose which add-ins should be loaded or not when launching Microsoft Excel.
I have updated the utility so it can run on Windows Vista and Windows 7 as well. The new version will also work with Excel 2010 once it&#8217;s out on the market. 
The next version of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=666&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Excel Loader is a free standalone utility that let the user choose which add-ins should be loaded or not when launching Microsoft Excel.</p>
<p>I have updated the utility so it can run on Windows Vista and Windows 7 as well. The new version will also work with Excel 2010 once it&#8217;s out on the market. </p>
<p>The next version of the tool will be completely rewritten as it will be developed on the .NET platform. In case You have any input about new features of the tools please let me know.</p>
<p>Below is a screen shot of its main window:</p>
<p style="text-align:center;"><img class="size-full wp-image-667 alignnone" title="Excel Loader 1.5" src="http://xldennis.files.wordpress.com/2009/08/excel-loader-1-5.png?w=757&#038;h=541" alt="Excel Loader 1.5" width="757" height="541" /></p>
<p>For more information about the tool and to download it please visit: <a href="http://www.excelkb.com/article.aspx?id=10192" target="_blank">Excel Loader 1.5</a></p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/666/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/666/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/666/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=666&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/08/09/excel-loader-new-version-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/08/excel-loader-1-5.png" medium="image">
			<media:title type="html">Excel Loader 1.5</media:title>
		</media:content>
	</item>
		<item>
		<title>Connected to the network?</title>
		<link>http://xldennis.wordpress.com/2009/08/04/connected-to-the-network/</link>
		<comments>http://xldennis.wordpress.com/2009/08/04/connected-to-the-network/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 23:37:53 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET & Excel]]></category>
		<category><![CDATA[COM Add-ins]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=652</guid>
		<description><![CDATA[It has been a while since I last made a post here.  But I intend to get up to speed and publish on a more regular basis. Anyway, on the .NET platform and with VB.NET we can rather easy check if the computer we work on is connected to a network or not.
To know that information allows us:

To run methods [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=652&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:left;">It has been a while since I last made a post here.  But I intend to get up to speed and publish on a more regular basis. Anyway, on the .NET platform and with VB.NET we can rather easy check if the computer we work on is connected to a network or not.</p>
<p>To know that information allows us:</p>
<ul>
<li>To run methods that update workbooks with the latest data.</li>
<li>Run network located templates and individual workbooks.</li>
<li>Load network based add-ins.</li>
</ul>
<p>Technically we will be using the <strong>My</strong> namespace to find out if the computer is connected or not.  More specifically we will use the  <strong>My.Computer</strong> namespace which provides methods to control the computer&#8217;s hardware and the system software.  Among other things, it allows us to work with the file system, clipboard, Windows Registry network printers, network connection and keyboard &amp; mouse.</p>
<p>The following snippet code shows how we can use it to determine if the computer is connected to a network.</p>
<p style="text-align:center;"><img class="size-full wp-image-659  aligncenter" title="Network" src="http://xldennis.files.wordpress.com/2009/08/network1.png?w=536&#038;h=667" alt="Network" width="536" height="667" /></p>
<p style="text-align:center;"> </p>
<p>Because the property<strong> isAvailable</strong> only indicates if there is a network available or not we need to make sure that there is a connection to the network we actually want to access. In order to do so we use the <strong>Ping</strong> function to insure that the wanted remote location is available.</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/652/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=652&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/08/04/connected-to-the-network/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/08/network1.png" medium="image">
			<media:title type="html">Network</media:title>
		</media:content>
	</item>
		<item>
		<title>Implement the Ribbon UI in Windows Forms</title>
		<link>http://xldennis.wordpress.com/2009/06/04/implement-the-ribbon-ui-in-windows-forms/</link>
		<comments>http://xldennis.wordpress.com/2009/06/04/implement-the-ribbon-ui-in-windows-forms/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 16:45:31 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET & Excel]]></category>
		<category><![CDATA[.NET SQL Tester]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=625</guid>
		<description><![CDATA[Some of us Excel developers like the Ribbon UI while others find it more difficult to work with it. No matter what we developers think about it exist a growing number of clients requiring that the Ribbon UI to be implemented in .NET based Excel solutions.
Microsoft offers no controls that can be used to implement any Ribbon UI [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=625&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Some of us Excel developers like the Ribbon UI while others find it more difficult to work with it. No matter what we developers think about it exist a growing number of clients requiring that the Ribbon UI to be implemented in .NET based Excel solutions.</p>
<p>Microsoft offers no controls that can be used to implement any Ribbon UI solution so we are forced to decide which third-party controls package to be used.  Of cause, most large vendors, such as Component One et al, offer components that can be used but they can be rather expensive.  <a href="http://www.devcomponents.com/dotnetbar/" target="_blank">DotNetBar</a> from <a href="http://www.devcomponents.com/" target="_blank">DevComponents</a> is an inexpensive controls package including controls for the Ribbon UI.  I have been using the package for a while in clients solutions. DotNetBar includes 47 controls whereof some controls allow us to create a Ribbon UI in Windows Forms. All controls that are shipped with DotNetBar are highly customized. The controls are also frequently updated and new versions of DotNetBar are released on a regular basis.</p>
<p>With the package a collection of relevant case studies are shipped, both in VB and in C#. A knowledgebase is available to the DotNetBar customers and I find it easy to use it and it also provides relevant links based on the search criterias. The knowledgebase can also be accessed via the help file. The help file describes, in a strictly technical way, the DotNetBat assembly and its namespaces.</p>
<p>The following screen shot shows DotNetBar Samples Explorer: </p>
<p><img class="size-full wp-image-636   alignnone" title="DotNetBar4" src="http://xldennis.files.wordpress.com/2009/06/dotnetbar4.png?w=740&#038;h=413" alt="DotNetBar4" width="740" height="413" /></p>
<p>Because I find the controls to be good, especially the Ribbon UI controls, I have decided to use them for the upcoming .NET version of my commercial tool for Excel, the <a href="http://www.excelkb.com/article.aspx?id=10036" target="_blank">SQL Tester</a>. The following screen shots are from the <strong>alpha</strong> version of SQL Tester.NET and all controls in use are part of DotNetBar package. </p>
<p>The following screen shot views the main Windows Forms for SQL Tester.NET in the VS IDE. In addition to use a Ribbon UI it also use a tabcontrol with two tabs. These tabs will be synchronized with the tabs in the Ribbon UI and therefore is hidden when the tool is being executed.</p>
<p><img class="size-full wp-image-638 alignnone" title="DotNetBar1" src="http://xldennis.files.wordpress.com/2009/06/dotnetbar1.png?w=931&#038;h=189" alt="DotNetBar1" width="931" height="189" /></p>
<p style="text-align:center;"><a href="http://xldennis.files.wordpress.com/2009/06/dotnetbar1.png?w=300"></a></p>
<p>Next screen shot shows the code in use to synchronize the tabs in the tab control with the tabs in the Ribbon control:</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-639" title="CodeDotNetBar" src="http://xldennis.files.wordpress.com/2009/06/codedotnetbar.png?w=608&#038;h=618" alt="CodeDotNetBar" width="608" height="618" /></p>
<p>Having access to a tab&#8217;s click event is something we miss when building native Ribbon UI solutions in Excel. With DotNetBar we have it available without the need to create any workaround. Initially it may take some time to get used to the controls and what they offer. In my experience I would like to say that the more time we put into learning the controls the more we can leverage them in our Windows Forms solutions.</p>
<p>The following two screen shots show when SQL Tester.NET is being executed and we switch between the tabs in the Ribbon UI solution.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-640" title="DotNetBar2" src="http://xldennis.files.wordpress.com/2009/06/dotnetbar2.png?w=907&#038;h=769" alt="DotNetBar2" width="907" height="769" /></p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-637" title="DotNetBar3" src="http://xldennis.files.wordpress.com/2009/06/dotnetbar3.png?w=907&#038;h=769" alt="DotNetBar3" width="907" height="769" /></p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/625/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/625/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/625/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/625/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/625/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/625/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/625/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/625/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/625/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/625/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=625&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/06/04/implement-the-ribbon-ui-in-windows-forms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/06/dotnetbar4.png" medium="image">
			<media:title type="html">DotNetBar4</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/06/dotnetbar1.png" medium="image">
			<media:title type="html">DotNetBar1</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/06/codedotnetbar.png" medium="image">
			<media:title type="html">CodeDotNetBar</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/06/dotnetbar2.png" medium="image">
			<media:title type="html">DotNetBar2</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/06/dotnetbar3.png" medium="image">
			<media:title type="html">DotNetBar3</media:title>
		</media:content>
	</item>
		<item>
		<title>The 2nd Edition of Professional Excel Development (PED) is available!</title>
		<link>http://xldennis.wordpress.com/2009/05/19/the-2nd-edition-of-professional-excel-development-ped-is-available/</link>
		<comments>http://xldennis.wordpress.com/2009/05/19/the-2nd-edition-of-professional-excel-development-ped-is-available/#comments</comments>
		<pubDate>Tue, 19 May 2009 14:30:34 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET Books]]></category>
		<category><![CDATA[VSTO Books]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=590</guid>
		<description><![CDATA[General
The book &#8220;Professional Excel Development&#8221; (aka &#8220;PED&#8221;) is now available in the second edition. The major news is that .NET including VSTO has been added to the book. Because I&#8217;m responsible for the .NET section in the book the list of authors now also includes my name too.

For some weeks ago Ross McLean had the kindness to make an interview me. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=590&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>General<br />
</strong>The book &#8220;Professional Excel Development&#8221; (aka &#8220;PED&#8221;) is now available in the second edition. The major news is that .NET including VSTO has been added to the book. Because I&#8217;m responsible for the .NET section in the book the list of authors now also includes my name too.</p>
<p style="text-align:center;"><a href="http://www.amazon.com/dp/0321508793/" target="_blank"><img class="size-medium wp-image-593  aligncenter" title="2nd PED" src="http://xldennis.files.wordpress.com/2009/05/2nd-ped.jpg?w=225&#038;h=300" alt="2nd PED" width="225" height="300" /></a></p>
<p>For some weeks ago Ross McLean had the kindness to make an interview me. Instead of repeating what I said in the interview you can read the full story <a href="http://www.blog.methodsinexcel.co.uk/2009/03/15/ped-professional-excel-development-second-edition/" target="_blank">here</a>. However, I would like to thank <a href="http://www.appspro.com/" target="_blank">Rob Bovey</a>  for being an excellent teamleader for this edition. Another person I would also like to thank is <a href="http://blogs.msdn.com/gabhan_berry/" target="_blank">Gabhan Barry</a> (a Program Manager in the Excel group at Microsoft) who made the technical review on the .NET chapters.</p>
<p><strong>New Chapters<br />
</strong>The second editions includes five new chapters:</p>
<p><strong>Chapter 10 - The Office 2007 Ribbon User Interface:</strong><br />
This chapter cover the Ribbon UI paradigm and discuss some advanced problem solving with the new UI.<br />
<strong><br />
Chapter 11 &#8211; Creating Cross-Version Applications: </strong><br />
In view of the fact that the Ribbon UI was introduced with Excel 2007 and that Windows Vista differ from Windows XP we decided to add this chapter. It covers how to create applications that target both Excel 2003 and previously versions and Excel 2007. We also discuss the major differences between the two operating systems.</p>
<p><strong>Chapter 24 &#8211; Excel and VB.NET: </strong><br />
In the first part we introduce the IDE in detail and cover some basic VB.NET programming. In the second part of the chapter we discuss how to automate Excel with VB.NET.<br />
The chapter present a practical case, PETRAS Report Tool.NET which is a standalone utility to retrieve data from PETRAS SQL Server database and populate some Excel reports templates.</p>
<p><strong>Chapter 25 &#8211; Writing Managed COM Add-ins with VB.NET: </strong><br />
This chapter is the &#8220;flag ship&#8221; of the .NET section and goes in detail on how to create managed COM Add-ins and it also discuss in detail Automation Add-ins.<br />
Here we also port the practical standalone utility, PETRAS Report Tool.NET. to a managed COM Add-in.</p>
<p><strong>Chapter 26 &#8211; Developing Excel Solutions with Visual Studio Tools for Office System (VSTO):</strong><br />
In the first part of the chapter we set focus on two questions: What is VSTO and When to use VSTO. We also discuss VSTO add-ins, VSTO workbooks and how to deploy a VSTO workbook via the Web with the ClickOnce technology. To leverage the content in this chapter it requires that you have access to Excel 2007.</p>
<p><strong>To buy the book or not?<br />
</strong>If you have an interest in Excel and .NET including VSTO then you should consider buying the second edition. However, if your concern is native Excel and VBA then it is better that you save the money and wait until the next edition of the book is available.</p>
<p>If you want to buy or rank the book then please click <a href="http://www.amazon.com/dp/0321508793/" target="_blank">here</a>. </p>
<p><strong>PED&#8217;s site<br />
</strong>With this edition we decided to build a completely new site for the book with Q&amp;A forums. The intention with the site is to allow you to interact with the authors and leave suggestions for future editions of the book. The Q&amp;A forums are built around the book&#8217;s content and they have a similar structure as the book&#8217;s TOC. In addition, it is here you will find information about updates and more downloads. <br />
We strongly encourage you to become a member and discuss the book in detail. Rob and I will try to answer all questions to the best of our knowledge. At the same time we feel it is important to state that the site is not a general Q&amp;A forum about the involved technologies.</p>
<p>Together with the publisher we have made two chapters available for free download. To find out more please visit the <a href="http://proexceldev.net/index.php?" target="_blank">PED&#8217;s site</a>.</p>
<p>Let me know if you want any further information.</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/590/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=590&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/05/19/the-2nd-edition-of-professional-excel-development-ped-is-available/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/05/2nd-ped.jpg?w=225" medium="image">
			<media:title type="html">2nd PED</media:title>
		</media:content>
	</item>
		<item>
		<title>Sheet Navigation in The Ribbon UI &#8211; Part II</title>
		<link>http://xldennis.wordpress.com/2009/05/05/sheet-navigation-in-the-ribbon-ui-part-ii/</link>
		<comments>http://xldennis.wordpress.com/2009/05/05/sheet-navigation-in-the-ribbon-ui-part-ii/#comments</comments>
		<pubDate>Tue, 05 May 2009 21:40:53 +0000</pubDate>
		<dc:creator>Dennis Wallentin</dc:creator>
				<category><![CDATA[.NET & Excel]]></category>
		<category><![CDATA[VSTO & Excel]]></category>

		<guid isPermaLink="false">http://xldennis.wordpress.com/?p=568</guid>
		<description><![CDATA[In my first post about Sheet Navigation I showed a basic approach. Here I will show a more practical and realistic solution to navigate between sheets. The example is based on a VSTO workbook however it can be applied to both native Excel solutions as well as managed COM/VSTO add-ins.
When it comes to customize the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=568&subd=xldennis&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In my first <a href="http://xldennis.wordpress.com/2009/04/10/sheet-navigation-in-the-ribbon-ui-part-i/" target="_blank">post</a> about Sheet Navigation I showed a basic approach. Here I will show a more practical and realistic solution to navigate between sheets. The example is based on a VSTO workbook however it can be applied to both native Excel solutions as well as managed COM/VSTO add-ins.</p>
<p>When it comes to customize the Ribbon UI with VBA and with VB.NET the major difference is the callbacks signatures. Because I constantly forget which signatures to be used depending on which language I use I check with the following article: <a href="http://msdn.microsoft.com/en-us/library/aa722523.aspx" target="_blank">Customizing the 2007 Office Fluent Ribbon for Developers (Part 3 of 3)</a>.</p>
<p>Anyway, in this example I use the dropDown control but the drawback with it is that it does not explicitly give us the name of the selected item, only its ID and index number. Therefore we need to resolve it in the code. </p>
<p>Although we should strive to create fully dynamic applications, they come with the price of having to write code for all possible scenarios. In real-world applications we therefore tend to create semifixed applications where some parts of the solutions are fixed and some parts are dynamic. In the example here we have a fixed list of sheets whose names will not change during runtime and we therefore do not need to invalidate the dropDown control during runtime. On the other hand, we will not hard-code the sheets names in order to ease the maintenance.</p>
<p>The following screen shot shows the whole VSTO project: </p>
<p style="text-align:center;"><img class="size-full wp-image-580  aligncenter" title="project-sheetnavigation" src="http://xldennis.files.wordpress.com/2009/05/project-sheetnavigation.png?w=202&#038;h=219" alt="project-sheetnavigation" width="202" height="219" /></p>
<p>As we can see we have four worksheets and one chart. One of the worksheets, &#8220;Hidden&#8221;, is hidden which we also need to resolve in the code.</p>
<p>The following screen shot lists the Ribbon UI XML solution:</p>
<p style="text-align:center;"><img class="size-full wp-image-581  aligncenter" title="ribboncustom-sheetnavigation" src="http://xldennis.files.wordpress.com/2009/05/ribboncustom-sheetnavigation.png?w=606&#038;h=272" alt="ribboncustom-sheetnavigation" width="606" height="272" /></p>
<p>The next screen shot shows the relevant code in the ThisWorkbook module:</p>
<p style="text-align:center;"><img class="size-full wp-image-583  aligncenter" title="code-thisworkbook-sheetnavigation" src="http://xldennis.files.wordpress.com/2009/05/code-thisworkbook-sheetnavigation.png?w=578&#038;h=315" alt="code-thisworkbook-sheetnavigation" width="578" height="315" /></p>
<p>We grab the collection of sheets in the workbook in a sheet collection variable which we use in the callbacks signatures as the following screen shot shows:</p>
<p style="text-align:center;"><img class="size-full wp-image-585  aligncenter" title="code-ribbonui-sheetnavigation" src="http://xldennis.files.wordpress.com/2009/05/code-ribbonui-sheetnavigation.png?w=677&#038;h=1834" alt="code-ribbonui-sheetnavigation" width="677" height="1834" /></p>
<p>It should be noted that I use Option Strict for the example solution, i.e. it forces us to cast.  When running it we can navigate between the sheets rather smooth as the following screen shot lists:</p>
<p style="text-align:center;"><img class="size-full wp-image-586  aligncenter" title="running-the-sheet-navigation" src="http://xldennis.files.wordpress.com/2009/05/running-the-sheet-navigation.png?w=700&#038;h=159" alt="running-the-sheet-navigation" width="700" height="159" /></p>
<p>The example shows that we can rather easily create robust solutions to navigate between the sheets in a workbook. Compared with the basic approach the above solution gives the end users a better option as it shows the names of the sheets.</p>
<p>In the coming blogpost I will demonstrate how we can implement the Ribbon UI in Windows Forms.</p>
<p>Kind regards,<br />
Dennis</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/xldennis.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/xldennis.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/xldennis.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/xldennis.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/xldennis.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/xldennis.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/xldennis.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/xldennis.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/xldennis.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/xldennis.wordpress.com/568/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=xldennis.wordpress.com&blog=430237&post=568&subd=xldennis&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://xldennis.wordpress.com/2009/05/05/sheet-navigation-in-the-ribbon-ui-part-ii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b726f84b521d43e352c96a4a4f5f376?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">XL-Dennis</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/05/project-sheetnavigation.png" medium="image">
			<media:title type="html">project-sheetnavigation</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/05/ribboncustom-sheetnavigation.png" medium="image">
			<media:title type="html">ribboncustom-sheetnavigation</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/05/code-thisworkbook-sheetnavigation.png" medium="image">
			<media:title type="html">code-thisworkbook-sheetnavigation</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/05/code-ribbonui-sheetnavigation.png" medium="image">
			<media:title type="html">code-ribbonui-sheetnavigation</media:title>
		</media:content>

		<media:content url="http://xldennis.files.wordpress.com/2009/05/running-the-sheet-navigation.png" medium="image">
			<media:title type="html">running-the-sheet-navigation</media:title>
		</media:content>
	</item>
	</channel>
</rss>