<?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: Customizing The Excel 2007 UI</title>
	<atom:link href="http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/</link>
	<description>Daily posts of Excel tips…and other stuff</description>
	<lastBuildDate>Thu, 09 Feb 2012 23:42:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: keepITcool</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19890</link>
		<dc:creator>keepITcool</dc:creator>
		<pubDate>Sat, 10 Jun 2006 10:31:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19890</guid>
		<description>&lt;p&gt;I&#039;m working on a &quot;table driven&quot; Ribbon customization.&lt;/p&gt;
&lt;p&gt;For starters I&#039;d like to focus on minimizing XML editing and maximizing flexibility by reading the inputs from excel tables. Maybe the &#039;creation during lifetime&#039; will find a solution, and hopefully MS will surprise us and extend programmatic access to the ribbon.&lt;/p&gt;
&lt;p&gt;I&#039;m using the delegate callbacks where possible, while keeping the number of callback procedures to the bare minimum. Each callback uses the control&#039;s ID and select case or lookups to do its work.&lt;/p&gt;
&lt;p&gt;I&#039;d like to have one or two &#039;development buddies&#039;. Skype, Curiosity and Creativity wanted :)&lt;br&gt;
Anyone interested? Drop me a mail.&lt;/p&gt;
&lt;p&gt;keepITcool   (AT chello DOT nl)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;m working on a &#8220;table driven&#8221; Ribbon customization.</p>
<p>For starters I&#8217;d like to focus on minimizing XML editing and maximizing flexibility by reading the inputs from excel tables. Maybe the &#8216;creation during lifetime&#8217; will find a solution, and hopefully MS will surprise us and extend programmatic access to the ribbon.</p>
<p>I&#8217;m using the delegate callbacks where possible, while keeping the number of callback procedures to the bare minimum. Each callback uses the control&#8217;s ID and select case or lookups to do its work.</p>
<p>I&#8217;d like to have one or two &#8216;development buddies&#8217;. Skype, Curiosity and Creativity wanted <img src='http://www.dailydoseofexcel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
Anyone interested? Drop me a mail.</p>
<p>keepITcool   (AT chello DOT nl)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Alexander</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19878</link>
		<dc:creator>Mike Alexander</dc:creator>
		<pubDate>Thu, 08 Jun 2006 23:14:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19878</guid>
		<description>&lt;p&gt;&gt;I&#039;ve found some examples of manipulating &#039;OpenXML Package&#039; with .NET Anyone got ideas on how to do this with VB(A) ? &lt;/p&gt;
&lt;p&gt;All indications is that the Packaging API will not be available via VBA.  This leaves Excel developers with the nasty prospect of a four step process.&lt;/p&gt;
&lt;p&gt;2:  Create a temp file&lt;br&gt;
2:  Extract contents into the temp file using a third party library&lt;br&gt;
3:  Manipulate Open XML&lt;br&gt;
4:  Zip the contents (again, using a third party library)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&gt;I&#8217;ve found some examples of manipulating &#8216;OpenXML Package&#8217; with .NET Anyone got ideas on how to do this with VB(A) ? </p>
<p>All indications is that the Packaging API will not be available via VBA.  This leaves Excel developers with the nasty prospect of a four step process.</p>
<p>2:  Create a temp file<br />
2:  Extract contents into the temp file using a third party library<br />
3:  Manipulate Open XML<br />
4:  Zip the contents (again, using a third party library)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Karel Pieterse</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19867</link>
		<dc:creator>Jan Karel Pieterse</dc:creator>
		<pubDate>Thu, 08 Jun 2006 10:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19867</guid>
		<description>&lt;p&gt;Hi Dick,&lt;/p&gt;
&lt;p&gt;I signed up too. Let me know if you get accepted!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Dick,</p>
<p>I signed up too. Let me know if you get accepted!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: keepITcool</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19829</link>
		<dc:creator>keepITcool</dc:creator>
		<pubDate>Mon, 05 Jun 2006 12:42:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19829</guid>
		<description>&lt;p&gt;RibbonExtensibility is meant for Design Time, much like forms.. All controls to be created on startup. Visibility/Labeling etc can be manipulated thru callbacks. The only control which supports runtime manipulation is the DynamicMenu via getContent.&lt;/p&gt;
&lt;p&gt;VSTO will have a designer. Simple VBA hacks like me will have to settle for notepad/winzip.&lt;br&gt;
until someone comes up with a VBA addin to design Ribbons and generate the XML. &lt;/p&gt;
&lt;p&gt;loading sequence:  &lt;a href=&quot;http://blogs.msdn.com/andreww/archive/2006/04/04/568607.aspx&quot; rel=&quot;nofollow&quot;&gt;http://blogs.msdn.com/andreww/archive/2006/04/04/568607.aspx&lt;/a&gt;&lt;br&gt;
schema details:    &lt;a href=&quot;http://officeblogs.net/UI/customUI.xsd&quot; rel=&quot;nofollow&quot;&gt;http://officeblogs.net/UI/customUI.xsd&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;BTW:&lt;br&gt;
I&#039;ve found some examples of manipulating &#039;OpenXML Package&#039; with .NET Anyone got ideas on how to do this with VB(A) ?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>RibbonExtensibility is meant for Design Time, much like forms.. All controls to be created on startup. Visibility/Labeling etc can be manipulated thru callbacks. The only control which supports runtime manipulation is the DynamicMenu via getContent.</p>
<p>VSTO will have a designer. Simple VBA hacks like me will have to settle for notepad/winzip.<br />
until someone comes up with a VBA addin to design Ribbons and generate the XML. </p>
<p>loading sequence:  <a href="http://blogs.msdn.com/andreww/archive/2006/04/04/568607.aspx" rel="nofollow">http://blogs.msdn.com/andreww/archive/2006/04/04/568607.aspx</a><br />
schema details:    <a href="http://officeblogs.net/UI/customUI.xsd" rel="nofollow">http://officeblogs.net/UI/customUI.xsd</a> </p>
<p>BTW:<br />
I&#8217;ve found some examples of manipulating &#8216;OpenXML Package&#8217; with .NET Anyone got ideas on how to do this with VB(A) ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen Bullen</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19825</link>
		<dc:creator>Stephen Bullen</dc:creator>
		<pubDate>Sun, 04 Jun 2006 13:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19825</guid>
		<description>&lt;p&gt;Jurgen, I&#039;ve played around with that a little and it only works in very specific situations. For example, as the names of all the callback procedures have to be predefined, we would typically only be able to have one procedure for each type of control callback (whereas the example typically has a specific procedure for each callback of each control). The only way I could envisage working in the general case is for us to have a marshalling COM Addin, to which we provided the xml definition file and a class instance. That addin would replace all the callback procedure names with a single, standard name, but keep a lookup list to identify which control ID was linked to which procedure in which class and thereby know which one to call. I requested that Microsoft implemented such a design themselves when I saw the first dogfood builds, but they decided not to. The other major complication is that COM Addins only get one opportunity to provide the custom UI xml, when they&#039;re loaded. So if we want to have the UI changing during the application&#039;s lifetime (e.g. adding extra controls/chunks as new sheets get added to a workbook), the only way to do it is to unload and reload the COM Addin - which would have to work properly when potentially multiple client workbooks are using it.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jurgen, I&#8217;ve played around with that a little and it only works in very specific situations. For example, as the names of all the callback procedures have to be predefined, we would typically only be able to have one procedure for each type of control callback (whereas the example typically has a specific procedure for each callback of each control). The only way I could envisage working in the general case is for us to have a marshalling COM Addin, to which we provided the xml definition file and a class instance. That addin would replace all the callback procedure names with a single, standard name, but keep a lookup list to identify which control ID was linked to which procedure in which class and thereby know which one to call. I requested that Microsoft implemented such a design themselves when I saw the first dogfood builds, but they decided not to. The other major complication is that COM Addins only get one opportunity to provide the custom UI xml, when they&#8217;re loaded. So if we want to have the UI changing during the application&#8217;s lifetime (e.g. adding extra controls/chunks as new sheets get added to a workbook), the only way to do it is to unload and reload the COM Addin &#8211; which would have to work properly when potentially multiple client workbooks are using it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: keepITcool</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19822</link>
		<dc:creator>keepITcool</dc:creator>
		<pubDate>Sat, 03 Jun 2006 11:34:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19822</guid>
		<description>&lt;p&gt;Stephen:&lt;br&gt;
on the fly creation is possible but it looks like you need a ComAddin to make it work.&lt;br&gt;
I tried posting the code here, but somehow my post failed so I&#039;ve mailed you an example.&lt;/p&gt;
&lt;p&gt;VBA is used to manipulate XML customization string and execute the calls. The XML string and Procedure names are (temporarily) stored in the registry, then the ComAddin is connected.&lt;br&gt;
On connection the commaddin creates the controls from the XML. While loaded it passes calls back to the specified VBA procedures.&lt;/p&gt;
&lt;p&gt;Jurgen&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Stephen:<br />
on the fly creation is possible but it looks like you need a ComAddin to make it work.<br />
I tried posting the code here, but somehow my post failed so I&#8217;ve mailed you an example.</p>
<p>VBA is used to manipulate XML customization string and execute the calls. The XML string and Procedure names are (temporarily) stored in the registry, then the ComAddin is connected.<br />
On connection the commaddin creates the controls from the XML. While loaded it passes calls back to the specified VBA procedures.</p>
<p>Jurgen</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: XL-Dennis</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19820</link>
		<dc:creator>XL-Dennis</dc:creator>
		<pubDate>Sat, 03 Jun 2006 11:26:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19820</guid>
		<description>&lt;p&gt;Thanks John! It look promising but I believe Stephen raise some important questions about it in the referred first link. In addition, will it work with different language versons as well? Although XML has been around for the last 5-6 years it will challenge the larger group of Excel developers and power users which the publishers/writers hopefully will cover in upcoming Excel books.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br&gt;
Dennis&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks John! It look promising but I believe Stephen raise some important questions about it in the referred first link. In addition, will it work with different language versons as well? Although XML has been around for the last 5-6 years it will challenge the larger group of Excel developers and power users which the publishers/writers hopefully will cover in upcoming Excel books.</p>
<p>Kind regards,<br />
Dennis</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Alexander</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19819</link>
		<dc:creator>Mike Alexander</dc:creator>
		<pubDate>Sat, 03 Jun 2006 00:21:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19819</guid>
		<description>&lt;p&gt;BTW,&lt;/p&gt;
&lt;p&gt;Microsoft&#039;s Savraj Dhanjal talks about Customizing the UI and RibbonX in this video presentation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://microsoft.sitestream.com/PDC05/OFF/OFF302_files/Default.htm#nopreload=1&amp;autostart=1&quot; rel=&quot;nofollow&quot;&gt;http://microsoft.sitestream.com/PDC05/OFF/OFF302_files/Default.htm#nopreload=1&amp;autostart=1&lt;/a&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>BTW,</p>
<p>Microsoft&#8217;s Savraj Dhanjal talks about Customizing the UI and RibbonX in this video presentation.</p>
<p><a href="http://microsoft.sitestream.com/PDC05/OFF/OFF302_files/Default.htm#nopreload=1&amp;autostart=1" rel="nofollow">http://microsoft.sitestream.com/PDC05/OFF/OFF302_files/Default.htm#nopreload=1&#038;autostart=1</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Alexander</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19818</link>
		<dc:creator>Mike Alexander</dc:creator>
		<pubDate>Fri, 02 Jun 2006 23:26:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19818</guid>
		<description>&lt;p&gt;This really highlights the need to learn about XML and Microsoft DOM objects.  I know that XML has always seemed like a solution to a problem which hasn&#039;t happened yet.  But Office 2007 changes all that. With the new file formats, you can get into the guts of one or many documents and do some really cool things by traversing the XML within.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>This really highlights the need to learn about XML and Microsoft DOM objects.  I know that XML has always seemed like a solution to a problem which hasn&#8217;t happened yet.  But Office 2007 changes all that. With the new file formats, you can get into the guts of one or many documents and do some really cool things by traversing the XML within.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen Bullen</title>
		<link>http://www.dailydoseofexcel.com/archives/2006/06/02/customizing-the-excel-2007-ui/#comment-19812</link>
		<dc:creator>Stephen Bullen</dc:creator>
		<pubDate>Fri, 02 Jun 2006 21:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.dailydoseofexcel.com/?p=1424#comment-19812</guid>
		<description>&lt;p&gt;Yes, RibbonX is actually pretty good for static pre-definable menu structures. Most of us use some sort of table-driven menu creation for our commandbars; RibbonX is just replacing that with an xml stream instead of an on-sheet table and including standard code to apply that XML. Life isn&#039;t quite so rosy when we want to make our UIs more dynamic. We can hide and show pre-defined controls, or use dynamic menus and galleries for some flexibility, but we can&#039;t add, delete or redorder controls during the life of our applications. To be fair, the dynamic menus and galleries gives us as much as we had with previous versions of Office, but we can&#039;t use any of the new controls (tick boxes, etc) in a dynamic manner. Overall, I&#039;d class it as sufficient, but a missed opportunity to be really good.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Yes, RibbonX is actually pretty good for static pre-definable menu structures. Most of us use some sort of table-driven menu creation for our commandbars; RibbonX is just replacing that with an xml stream instead of an on-sheet table and including standard code to apply that XML. Life isn&#8217;t quite so rosy when we want to make our UIs more dynamic. We can hide and show pre-defined controls, or use dynamic menus and galleries for some flexibility, but we can&#8217;t add, delete or redorder controls during the life of our applications. To be fair, the dynamic menus and galleries gives us as much as we had with previous versions of Office, but we can&#8217;t use any of the new controls (tick boxes, etc) in a dynamic manner. Overall, I&#8217;d class it as sufficient, but a missed opportunity to be really good.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

