Welcome to MSDN Blogs Sign in | Join | Help

My Last Post

Friends, this is my last post. I've enjoyed being a part of the Office developer community for the past 4 years and meeting everyone over the past 10 years from the Microsoft side of the fence.  My next part of the journey will be from the other side of the fence as a Senior Program Manager for SmartDesktop.

I'm really excited about the future plans for VSTA and VSTO, and some of the other tricks the team has up its sleeve. :)  I've been in touch with the folks working on the OpenXML SDK and I'm seeing some great work and ideas.  Keep watching all the Office developer blogs, I know I will.

A lot of folks here at Microsoft refer to leaving MS as "retiring" even though they are simply moving to another job.  I like to think of it as "Graduating".  Who knows, maybe I'll be back for some post-graduate work someday. 

- Kevin J. Boske

Program Manager, Visual Studio Tools for Applications.

 

Posted by KevinBoske | 1 Comments
Filed under: ,

OpenXML Package Editor RTW with VSTO Powertools!

Back when we were working heavily on the OpenXML file format developer tools, many of us were using zip and Notepad to edit the OpenXML files.  Tom Underhill from the Office graphics team made all our lives easier with a VS package for editing OpenXML files.  I used it quite a bit during the OpenXML code snippet development (you might have even seen a quick glipse of it in a demo somewhere).  There are other Package file editors available, (like Wouter's), but I like this one mainly because its integrated in VS.  (Where I spend much of my time these days).

Andrew Whitechapel and the VSTO folks got a shipping vehicle for Tom's OpenXML Package Editor.  Along with a number of other VSTO and VSTA Powertools, the VS-integrated Package editor is available here.

Here's a list of features you'll find in the VSTO Powertool Package Editor:

  • Ability to open any package file via Visual Studio 2008
  • Navigate package and Relationship structure
  • Get properties on Parts and Relationships
  • Read and write XML within parts
  • Add and delete Parts and Relationships

  Andrew has all the details on his blog.

 

VSTA Webcast - How to Integrate VSTA 2.0

Gary Depue from Summit Software presented a webcast last Wednesday on How to Integrate VSTA 2.0. I'm still getting up to speed here in the new team, so I missed it, but I'll be sure to go back and watch in the next couple of days. 

It's tough being new to the project, and having not a lot of expertise in the area.  I'm told their are some significant improvements to the process of integrating 2.0 over 1.0.   It's snowing here in Seattle, so rather than fight the commute, I think I'll head down to the coffee shop and watch.

 

Posted by KevinBoske | 0 Comments
Filed under:

VBA and Office 14

There's been some discussion on this thread on Slashdot, (updated) which started from this article in The Register UK.

To be clear, Microsoft is not replacing VBA with VSTA or VSTO in Office for Windows.  (though VSTA and VSTO are still important developer tools for Office 14)

VBA is here to stay, as was announced some time back by Steven Sinofsky. 

(Correction: Steven emailed me and corrected me that his previous statement.  I didn't want to misquote.  The words "to stay" might imply "forever", and that wasn't the intent.  I have no idea how long VBA will be supported in Office, beyond Office 14.)

The Excel and Access Blogs both have posts covering this from the Office perspective. 

Posted by KevinBoske | 3 Comments
Filed under: ,

The only constant at Microsoft

Change.

It's really the only constant here at MS.  I've made a change.  I'm no longer working in the Office Team, I've moved on to the Visual Studio Tools for Applications (VSTA) team.  Anyone who has met me professionally knows that I'm a big fan of .NET, and big fan of enabling non-pro developers to build the solutions they need to get their jobs done. 

As we say around here, I super-excited about this opportunity.  I don't have much to discuss currently, the Visual Studio Team just shipped Orcas, so its a new cycle and a great time to start.  Over the next few months, I'll start to provide more information about current VSTA, and about some of the ideas (*as we make them public) we have for future versions.

Cheers,

Kevin

 

Posted by KevinBoske | 2 Comments
Filed under: ,

Microsoft Office System Developer Conference 2008

I just got a mail from Chris Bryant (formerly Access Dev, now Marketeer) announcing the 2008 Office Dev Con.   I spoke at the last Office Dev Con, along with Brian Jones, Chad Rothschiller, and Tristan Davis on OpenXML Development.  I can't yet promise I'll be there for ODC 2008, but I'll see if I can convince my boss to send me. 

BillG will be there to give a keynote, and since he's stepping down from his day-to-day tasks next year, you don't want to miss that.  You can find all the details on http://www.odc2008.com

When: February 10-13, 2008

Where: San Jose Convention Center, San Jose, CA

Who: 2000 developers and architects who build solutions on the Office platform (Office clients, servers, and services)

 

ODC 2008 will bring together architects, developers, industry technical experts, Microsoft insiders and key partners in a public forum for the first time! Together, we will redefine what it means to be focused on Microsoft Office development, exchange ideas on how to continue innovating in this ever-changing space, and share best practices on how to craft the next generation of Office Business Applications.  Microsoft Chairman Bill Gates will deliver a special keynote that is not to be missed.

Open XML Discussion on Channel9

Charles Torre sat down with Art Leonard, Brian Jones, Doug Mahugh and me to discuss Open XML on Channel9.  It's a two part session, Part1 is here. Brian and Doug did most of the talking and focused broadly on the background around the file format. Art and I talked a little bit about our efforts in designing and prototyping the new Open XML SDK in Part2, which should be up soon.

Art and I had a lot of fun working on the Open XML API, I hope that shows in this video.

And I welcome feedback on my whiteboard skills.

 

 

 

Posted by KevinBoske | 4 Comments

Open XML API CTP Released!

I've been quiet on the blog these past few months. I've been juggling work, a new baby (and a toddler) and some remodel plans, so extra-curricular activities like blogging have taken a back seat.

But today at TechEd 2007, we released a Community Technology Preview (CTP) of a managed-code Open XML API for use with .NET Framework 3.0!

Art Leonard and I began working on this at the 2005 PDC. He and I spent some late nights at a coffee shop in Seattle, spec'ing and prototyping the project over the past year or so. I met with a few customers to get an idea of just which scenarios are necessary. Most of this happened in the gaps of our regular work of shipping Office System 2007.

We learned a lot about working with Open XML file via the Packaging API while working with Ken Getz building the code snippets last year.  With this API, we want to reduce the number of lines of code that are required to perform simple Open XML tasks, such as;

  1. Locating the part you want 
  2. Replacing, adding or deleting parts
  3. Accessing the XML within parts (using your choice of XML editor)

The API does this by abstracting the Packaging API and by strongly typing the individual parts of the Open XML file. By exposing parts of the package s strongly-typed objects, searching for and discovering those parts will require less code.

All of the structure of the Open XML file is exposed, so you can quickly move from one part to the next within the graph and discover the part you need.

Take the WDDeleteComments() snippet. In it, we have to walk through the graph, starting at the package, find the main document part, then find the comments part, delete it and the relationships to it from the main document part:

// Get the main document part (document.xml).

foreach (System.IO.Packaging.PackageRelationship relationship in wdPackage.GetRelationshipsByType(documentRelationshipType))

{

documentUri = PackUriHelper.ResolvePartUri(new Uri("/", UriKind.Relative), relationship.TargetUri);

documentPart = wdPackage.GetPart(documentUri);

// There is only one document.

break;

}

// Delete the comments relationship. There can only be one of these.

foreach (System.IO.Packaging.PackageRelationship relationship in documentPart.GetRelationshipsByType(commentRelationshipType))

{

Uri commentUri = PackUriHelper.ResolvePartUri(documentUri, relationship.TargetUri);

PackagePart commentsPart = wdPackage.GetPart(commentUri);

documentPart.DeleteRelationship(relationship.Id);

wdPackage.DeletePart(commentUri);

// There is only one comments part.

break;

}

But with the new API, the same code is reduced to this:

using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(docName, true))

{

MainDocumentPart mainPart = wordDoc.MainDocumentPart;

mainPart.DeletePart(mainPart.CommentsPart);

}

As in the snippet, you still need to go through the XML of the MainDocumentPart and remove the references to the Comments part, but I think you'll find that working with the package structure of Open XML files much is much easier.

Our goal with this CTP is to get some feedback on our work to improve the way you code solutions with Open XML using .NET.  I hope you'll download it and start playing. There is a forum on MSDN for feedback.

 

OpenXML Meetup

Doug has posted some pictures of a meetup we had last week with the OpenXML developers group:

http://www.mahugh.com/images/blog/2007/03/15/openxmldevelopers.jpg

That's me, in the back, to the left of Brian Jones (The) trying to be seen over some of the guys from Sonata. It was really fun to meet everyone and put a face to the names. I'm going to try to get back to posting at least once a week, and I promise to add some substance to my posts.

Surprise – HowTos for working with OpenXML Workbooks!

I just got an email from Erika that read "I have a surprise for you!" and included a link to her latest blog post. Seems Ken Getz (who wrote the code snippets) repurposed 5 of the snippets into a couple of Visual walkthroughs with code. Ken's a great guy and he was a lot of fun to work with on the code snippet project.

Links and details are on Erika's blog.

 

Posted by KevinBoske | 0 Comments

Open XML Code Snippets on Channel 9 - UPDATE

I recorded a screencast for Channel9 last week in which I walk you through a few of the code snippets we shipped for working with Office Open XML files using .NET 3.0.  I take you through three snippets:

1. How to find the officeDocument part, or "start part" -  This snippet is particularly useful.  The officeDocument part is related from the package and represents the start of the tree of parts (graph, really) that represents the Office document.  Once you've found this part, you can start working through the relationships and parts to find what you need.  This is the only snippet that works with all three file types (documents, workbooks and presentations).

2.  Document data redaction -  With this snippet I show you how to remove a VBA project part from a Word Document, and convert the document from a Macro-Enabled Word Document to a Macro-Free Word Document.

3.  Finally, I show how to insert a string value into a Workbook.  This is particularly handy as Open XML workbooks store the strings in a shared string table part, seperate from the individual sheets.

There are forty snippets altogether, and I'll spend some more time in this blog discussing them in depth. 

 UPDATE:  We got the screencast posted late today.  Sorry about the inconvience.  Doug was out when we noticed the bad link. His email had an OOF message pointing to another person, who had an OOF message that pointed to another person, who.....  By the time I got through all the cascading OOF's, Doug had arrived at his destination and updated the link.  Thanks Doug!

She's Actual Size

I mentioned that we were expecting a baby girl anytime. Well, Molly Ryan Boske arrived Thrusday morning.  mother and baby are fine.  She weighed in at a whopping 10lbs 1oz, which reminds me of the They Might Be Giants Song, She's Actual Size.  Microsoft provides great benefits, and I really have to thank the company for taking such good care of us all.  I'll be OOF for the rest of the year (4 weeks parental leave).

Posted by KevinBoske | 2 Comments
Filed under:

Open XML File Format Snippets RTW!

We've released the final version of the code snippets I told you about back in June.  These are the same snippets, updated with the final schemas and namespaces that we used in the shipping version of 2007 Office System.  There are 40 scenarios that enable you to write code in VB.NET and C# to access and edit Open XML files without the Office client applications. 

You will want to uninstall the Beta snippets before installing these. They are licensed for you to reuse in your own applications however you see fit. 

http://www.microsoft.com/downloads/details.aspx?FamilyID=8d46c01f-e3f6-4069-869d-90b8b096b556&displaylang=en

 Happy Coding

 

(almost) Everything Shipped!

Okay, I've been out for a couple of days, taking some time after shipping Office 2007 and getting ready for another product delivery (our second child, a girl, due anytime).

While I was busy getting baby stuff out of storage, the rest of the company kept busy shipping great products for 2007.  Here's the rollup with links of everything that came out over the past couple of days:

Visual Studio 2005 Tools for Office Second Edition

VSTO 2005 SE is a fully-supported free add-on to Visual Studio 2005 that enables developers to build applications on the 2007 Office System.  This is really great, the folks in VSTO stepped up and got this Second Edition out just in time for Office 2007.  Here are some highlights of the functionality:

  • Application-level add-in support for the most popular 2007 Office System applications including Outlook, Excel, Word, PowerPoint, InfoPath and Visio, and provides safe loading/unloading and easy management of managed add-ins.
  • Design-time and runtime support for key 2007 Office System features such as the Ribbon, Custom Task Panes, and Outlook forms regions.
  • NOTE: There are no visual designers for these features in this release.
  • Design-time support for InfoPath 2007 form templates
  • Maintainability and compatibility assurances. VSTO 2005 SE ensures that the applications customers have built on Office 2003 with VSTO 2005 continue to run with 2007 Office system.
  • The ability to run in Visual Studio 2005 Professional.
  • Expanded application-level add-in support for these Office 2003 Standard and Professional applications: Word, Excel, Outlook, PowerPoint and Visio.
  • VSTO 2005 SE Setup allows you to install VSTO 2005 SE on Microsoft Vista.

Go get it and start building some great CTP solutions!

.NET Framework 3.0

In this released build of .NET 3.0, you will find the System.IO.Packaging namespace in the windowsbase.dll assembly.  This is Microsoft's offering to enable developers to write applications against the Office Open XML file formats. 

Windows Vista

Yes, you heard it right, Vista has shipped, it's finally here. 

More Posts Next page »
 
Page view tracker