<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>There and Back Again : Microsoft Office 2007 Programming</title><link>http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx</link><description>Tags: Microsoft Office 2007 Programming</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>OBA - Are We There Yet?</title><link>http://blogs.msdn.com/howard_dierking/archive/2007/08/25/oba-are-we-there-yet.aspx</link><pubDate>Sun, 26 Aug 2007 08:40:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4570083</guid><dc:creator>hdierking</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/4570083.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=4570083</wfw:commentRss><description>&lt;p&gt;I am a beliver in the power of Office as the pre-eminant smart client for the majority of LOB applicaitons.&amp;nbsp; However, I also think that we're still a little ways off from realizing my belief - not because of some entrenched &lt;a href="http://en.wikipedia.org/wiki/Not_invented_here"&gt;NIH complex&lt;/a&gt; held to by consultants (though there is some of that (NOTE: because I was a consultant for at least half of my career, I take the liberty of making such broad generalizations in good fun &amp;lt;g&amp;gt;)). - but because in general, both the tooling and the guidance for building business apps based on Office as a platform has been somewhere between sketchy and non-existant.&lt;/p&gt; &lt;p&gt;Office 2007 brought us closer with the adoption of the OpenXML document formats - and with the forthcoming VSTO enhancements, like click once support for customizations, we take another step.&amp;nbsp; Also, today I stumbled upon &lt;a href="http://msdn2.microsoft.com/en-us/office/bb497969.aspx"&gt;this piece of guidance for developers&lt;/a&gt; - I'm not sure that it's necessarily guidance, but it certainly at least lays out the different options (and it just looks cool).&lt;/p&gt; &lt;p&gt;So while we're not yet past having to deal with COM and all of its associated headaches, we can at least have a pretty WPF applet to play with.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4570083" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+.NET+Programming/default.aspx">Microsoft .NET Programming</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx">Microsoft Office 2007 Programming</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Learning+Resources/default.aspx">Learning Resources</category><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>And if You’re REALLY Curious…</title><link>http://blogs.msdn.com/howard_dierking/archive/2006/12/08/and-if-you-re-really-curious.aspx</link><pubDate>Fri, 08 Dec 2006 20:57:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1241402</guid><dc:creator>hdierking</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/1241402.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=1241402</wfw:commentRss><description>&lt;p&gt;You can check out the schemas and standards for the new Office 2007 file formats and data schemas here.
&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm"&gt;http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1241402" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx">Microsoft Office 2007 Programming</category></item><item><title>Installing Office 2007 RTM…After Uninstalling Beta 2…and then some…</title><link>http://blogs.msdn.com/howard_dierking/archive/2006/12/01/installing-office-2007-rtm-after-uninstalling-beta-2-and-then-some.aspx</link><pubDate>Sat, 02 Dec 2006 07:45:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1190391</guid><dc:creator>hdierking</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/1190391.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=1190391</wfw:commentRss><description>&lt;p&gt;So I finally got motivated to install the RTM version of Office 2007 this evening.  I had been running the beta 2 refresh version for a while and was all-in-all pretty happy with it.  However, I have the final bits, so hey, I should take advantage of it.  Anyways, the directions say to first uninstall any prerelease versions of the software before installing the final bits.  No problem.  I went to the "Add/Remove Programs" dialog in Windows XP and uninstalled everything that looked remotely related to Office.  Unfortunately, when I tried to install the RTM version of Office, the installer stopped at the very beginning of the process, saying that it would not install until I had uninstalled all prerelease components.  But I….thought….ah – never mind!  A quick Internet search led me to &lt;a href="http://www.hanselman.com/blog/Office2007WontUpgradeFromAPrereleaseVersionOfThe2007OfficeSystemOffice2007SetupSpelunking.aspx"&gt;this post by Scott Hanselman&lt;/a&gt;, and more importantly, to a tool that is definitely going into my toolbox.  The tool is called &lt;a href="http://www.nirsoft.net/utils/myuninst.html"&gt;MyUninstaller&lt;/a&gt;, and it is a replacement for the Add/Remove Programs dialog.  In short, this thing is awesome!  When I ran it, I saw that not only were there still 4 Office components still on my machine, but also that there were about 10 Office-related service packs still installed.  After uninstalling those components, my installation ran perfectly.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1190391" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx">Microsoft Office 2007 Programming</category></item><item><title>Ribbon XML Schema Support in Visual Studio</title><link>http://blogs.msdn.com/howard_dierking/archive/2006/11/30/ribbon-xml-schema-support-in-visual-studio.aspx</link><pubDate>Fri, 01 Dec 2006 01:43:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1179702</guid><dc:creator>hdierking</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/1179702.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=1179702</wfw:commentRss><description>&lt;p&gt;So I'm currently working on creating an add-in for Word 2007 – and as a part of that, I've added some new functionality to my ribbon.  As I'm sure those of you who have done this are aware, VSTO adds 2 new files to your add-in project when you add ribbon support – a managed code file and an XML file.  When I went to create the XML markup for the ribbon UI, I was dismayed to discover that Visual Studio could not find the correct XSD schema that corresponded to the ribbon namespace.  This is annoying as it means that I don't get IntelliSense help for discovering elements and attributes in the ribbon XML.  Fortunately, I was sitting next to one of the product group guys at the time so I asked him what the problem was.  The answer is actually pretty simple.  The ribbon schema is contained in an XSD file called CustomUI.xsd and is deployed into a localized folder (1033) under the '{Program Files}\Microsoft Visual Studio 8\Xml\Schemas'.  The only problem with this is that Visual Studio doesn't pick up this folder when it builds its list of recognized schema.  The solution, then, is to simply copy the CustomUI.xsd file from the '1033' folder into the parent 'Schemas' folder.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1179702" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx">Microsoft Office 2007 Programming</category></item><item><title>An Absolute Must Have Tool for Word 2007 Content Control Solutions</title><link>http://blogs.msdn.com/howard_dierking/archive/2006/11/24/an-absolute-must-have-tool-for-word-2007-content-control-solutions.aspx</link><pubDate>Sat, 25 Nov 2006 06:55:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1145014</guid><dc:creator>hdierking</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/1145014.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=1145014</wfw:commentRss><description>&lt;p&gt;If you've been following this blog at all, you've heard me talk about my adventures into the new Office 2007 file formats.  More specifically, I've been interested into using Word 2007 content controls and binding them to XML data parts embedded into the document package.  To create a bound document like this has quite a few moving parts, which translates into plenty of room for error.  However, I stumbled across &lt;a href="http://openxmldeveloper.org/archive/2006/11/21/ContentControlToolkit.aspx"&gt;this tool&lt;/a&gt; the other day and am completely sold.  Of course, after you have spent time learning how something actually works internally, it's always a little bitter-sweet when a tool comes along that seems to trivialize your efforts, but hey – in this case – no complaints here!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1145014" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx">Microsoft Office 2007 Programming</category></item><item><title>Vista RC1 and .NET 3.0 – Trouble in Paradise</title><link>http://blogs.msdn.com/howard_dierking/archive/2006/11/14/vista-rc1-and-net-3-0-trouble-in-paradise.aspx</link><pubDate>Wed, 15 Nov 2006 01:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1078201</guid><dc:creator>hdierking</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/1078201.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=1078201</wfw:commentRss><description>&lt;p&gt;So it's still a few days until Vista RTM becomes available internally, so for the moment I'm still running the RC1 build. Obviously there are some non-trivial bugs in RC1, but I've been through therapy and am somewhat at peace with them (having been assured that they will be fixed in the RTM). However, I discovered another rather annoying quality this morning that sucked up enough of my time to make it worth posting about. 
&lt;/p&gt;&lt;p&gt;Here's the synopsis – I've been doing some research recently on the new document formats for Office 2007 documents. This morning, I decided to do some programmatic generation of Word. Since the new Office documents are actually zip files, the recommended way for browsing and manipulating document parts is to use the classes contained in the &lt;span style="font-family:Courier New"&gt;System.IO.Packaging&lt;/span&gt; namespace. So first, after a little digging (not too much, but more than I expected), I discovered that the &lt;span style="font-family:Courier New"&gt;System.IO.Packaging&lt;/span&gt; namespace is actually found in the &lt;span style="font-family:Courier New"&gt;WindowsBase.dll&lt;/span&gt; assembly that is distributed with .NET 3.0. No problem there – after all, .NET 3.0 is distributed with Vista – and I'm running Vista! Simple enough, right? 
&lt;/p&gt;&lt;p&gt;Therefore, I fire up Visual Studio, create a test harness application and jump over to references so that I can add the WindowsBase assembly. Where is it? Not in my references window. Hmm – was I mistaken about .NET 3.0 being deployed with Vista?? I open the GAC shell viewer – there's the WindowsBase assembly. Weird. Oh well, I'll just find the binary on the file system and add the path to my AssemblyFiles registry key. Therefore, I run a search on the file system for the &lt;span style="font-family:Courier New"&gt;WindowsBase.dll&lt;/span&gt;. NOTHING! Lovely. 
&lt;/p&gt;&lt;p&gt;So it seems like, at least as of Vista RC1, some of the .NET 3.0 assemblies are deployed directly into the GAC but do not seem to be represented on the file system. I'm quite interested to see if this changes in RTM. 
&lt;/p&gt;&lt;p&gt;Oh and by the way, you can't just download the RTM version of .NET 3.0 and install it. Since .NET 3.0 is now considered part of Windows Vista, you have to go through the "Windows Components" functions in Control Panel – and I suppose that as of now, .NET 3.0 runtime RTM is not yet a part of Windows Update! If you download the .NET 3.0 setup exe and try to run it, it will halt installation once it realizes that it's running on Vista and tell you to go through the control panel. 
&lt;/p&gt;&lt;p&gt;Now, there may be a very straightforward way to fix this (like install Vista RTM &amp;lt;g&amp;gt;), but at this point, I was frustrated past the point of caring. Therefore, I simply opened the console and performed the following atrocity. 
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.msdn.com/photos/howard_dierking/images/1078217/original.aspx" alt="" height="32" width="32"/&gt;
	&lt;/p&gt;&lt;p&gt;Yikes! 
&lt;/p&gt;&lt;p&gt;PS – I've also tried to post a picture with this entry…fingers crossed…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1078201" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx">Microsoft Office 2007 Programming</category></item><item><title>Hello Microsoft Word Blog?</title><link>http://blogs.msdn.com/howard_dierking/archive/2006/11/10/hello-microsoft-word-blog.aspx</link><pubDate>Sat, 11 Nov 2006 07:15:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1057172</guid><dc:creator>hdierking</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/howard_dierking/comments/1057172.aspx</comments><wfw:commentRss>http://blogs.msdn.com/howard_dierking/commentrss.aspx?PostID=1057172</wfw:commentRss><description>&lt;p&gt;Ok – I've got to admit, this feels a little strange. However, I've spent some time this week getting a feel for some of the developer features in Microsoft Office 2007, so I felt it was time I jump of the bridge and try writing and publishing a blog entry using Word 2007. You will know whether or not I am successful based on whether you can see this post – therefore, if you're reading this, everything worked fine. 
&lt;/p&gt;&lt;p&gt;I'm also quite happy that I decided to post via Word because (to my surprise) one of the underlying capabilities that (I think) enables this feature is something I've spent the majority of my research time on – XML data stores, content controls, and the OpenXML format for documents in all Office 2007 products. 
&lt;/p&gt;&lt;p&gt;So in case you were not aware, Office 2007 has dramatically changed in terms of how it stores and interacts with the documents it manages. For example, a Word document file used to be a single file containing binary data; later it became a single file containing XML data. With Word 2007, a document file is actually a zip file containing multiple XML (and potentially other types) files – each file manages a different part of the overall document. The feature that I was particularly interested in learning was how to create and add custom xml files to a Word document (package), and bind that data such that changing the data in the document actually changes my custom XML file, and changing my XML file actually changes the data in the document when it is running in Word. As I'm sure you can imagine, this capability opens up some huge possibilities in terms of new uses for Office tools like Word. Uses like…say…blogging? 
&lt;/p&gt;&lt;p&gt;Let me first say that taking advantage of XML data sources requires a bit of getting messy with the Word XML itself. I couldn't find any GUI-type tools for creating the data source or for mapping it to the document. Also, most of the samples surrounding data sources have to do with manipulating them programmatically. And while I think that programmatic manipulation is more typical, I wanted to understand exactly what I was manipulating. Therefore, I &lt;a href="http://blogs.msdn.com/modonovan/archive/2006/05/23/604704.aspx"&gt;found a good example here&lt;/a&gt;. One quick gotcha if you want to follow this sample. First, there is a typographical error in the dataBinding XML tag. The actual tag should look like this. 
&lt;/p&gt;&lt;p&gt;&amp;lt;w:dataBinding w:prefixMappings="xmlns:ns0='http://www.contoso.com/2006/schemas/workdoc'" w:xpath="/ns0:projectDoc[1]/ns0:project[1]/ns0:consultantName[1]" w:storeItemID="{C66AC4F1-97D3-4D10-8D07-51E6CC79AD91 }"/&amp;gt; 
&lt;/p&gt;&lt;p&gt;Remember of course that the GUID you use for the store ID here needs to map to the GUID you declare in your itemProps file. Also, many thanks to &lt;a href="http://blogs.msdn.com/mikeormond/"&gt;Mike Ormond&lt;/a&gt; for helping me uncover the typos when I was at my wit's end. In order to keep from bugging Mike over and over in the future, I also came across &lt;a href="http://www.arstdesign.com/articles/diffopc.html"&gt;this tool&lt;/a&gt; – it's a Windiff of sort for the new Office documents. Super cool! 
&lt;/p&gt;&lt;p&gt;Past that, there are a couple of major thing that I LOVE about maintaining my blog in Word. 
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;It's Word! I mean come on! Yes, you can do things like spell check in some of the server control/DHTML-driven editors out there – but all of those tools are simply trying to mimic Word – I like working off the original in this instance. 
&lt;/li&gt;&lt;li&gt;Portability – one thing that always used to drive me a little nuts was that if I ever moved to a different blog, I had essentially lost all of the content that I had posted on that blog. My solution was typically to screen-scrape and save the results as a Word document. Again, it's much nicer when a post simply starts as a Word document. 
&lt;/li&gt;&lt;li&gt;Automatic handling of posting images to the image library. I'll confess – I have not yet tried this. Perhaps I'll post a picture in a sec just to see how that works. What picture should I post? Hmm – thoughts for another entry… 
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And because I'm just really curious about whether the blogging feature is aided by custom XML data sources, I'm going to take a look. Be back in a second… 
&lt;/p&gt;&lt;p&gt;…Yup – check this out… 
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515"&gt;xml&lt;/span&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;version&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;"&lt;span style="color:blue"&gt;1.0&lt;/span&gt;"&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;encoding&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;"&lt;span style="color:blue"&gt;UTF-8&lt;/span&gt;"&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;standalone&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;"&lt;span style="color:blue"&gt;yes&lt;/span&gt;"&lt;span style="color:blue"&gt;?&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;BlogPostInfo&lt;/span&gt;&lt;span style="color:blue"&gt;
			&lt;/span&gt;&lt;span style="color:red"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;"&lt;span style="color:blue"&gt;http://www.microsoft.com/Office/Word/BlogTool&lt;/span&gt;"&lt;span style="color:blue"&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;PostTitle&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;Hello Microsoft Word Blog?&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;PostTitle&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;PostDate&lt;/span&gt;&lt;span style="color:blue"&gt;/&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;PostID&lt;/span&gt;&lt;span style="color:blue"&gt;/&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;Category1&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;Microsoft .NET Programming&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;Category1&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    ... &lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;BlogPostInfo&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;Too cool!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1057172" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/howard_dierking/archive/tags/Microsoft+Office+2007+Programming/default.aspx">Microsoft Office 2007 Programming</category></item></channel></rss>