We are getting ready for Beta 2 and we have been working hard to produce articles, videos, interviews, code samples, and more content that dives into the details of how-to develop solutions using the 2007 Office System. The past months everything was about what you can do with 2007 Office System, now, we are getting ready to show you how you can do it. Behind the scenes, we have been quietly working with the product teams to provide a great amount of content that will allow you to learn how to develop 2007 Office solutions.
I find quite fascinating how we all have a different style to learn something new. Some people enjoy a long article (more than 10 pages) with some code that they can possibly reuse in a development project. Some other people enjoy more a short how-to video that they can watch while drinking a coffee. Some other people like to download SDKs and read about every class member inside an object model. Some other people love to see a diagram or poster where you represent an abstract concept. Some other people are fascinated to watch the human being behind the feature/product talking about the cool enhancements of the new version. The same information can be represented from different angles, and we are committed to deliver different content types so that we can satisfy your learning style.
Another project that has kept us kind of busy is a site redesign project that we started some months ago. The team who developed the current site information architecture did something great at the time when Office 2003 was launched. The world changes and everything needs to evolve from time to time. Since the current version of the site was launched, lots of things have changed. The developer community has grown significantly, the blog boom came, the product teams are out to show their face and talk about their feature, and the developer story for Office has more to offer than any time before. The Office product and technologies family has grown and now they need a bigger house, so we are doing a massive site redesign to organize all the content we have in a better way.
The following months, you will see how the site starts changing and growing. We have new 2007 Office System content and a site with a better organization that will help you find your way through the search of the content that best fits your learning style.
For those of you who have been asking if MSDN will continue to publish and highlight the Office 2003 developer story, the answer is YES. We are quite excited about the new 2007 Office System, but we know that there are lots of developers who want to continue learning about the development possibilities offered by Office 2003.
I would love to open a document that I have in my desktop and share with you the great list of content that we will publish after Beta 2, but for now, the only thing I can share with you is some content that we got published ahead of time and that we will headline on MSDN shortly.
We have been working close to MSDN TV to publish a set of Office shows that provide you with good insight and pointers to developer opportunities with 2007 Office System. So for those of you who love to see Mike Fitz and Clint Covington in action, we have something for you.
The Microsoft Office System Developers Conference 2006 will be held in Redmond, WA next week; so expect to see more buzz related to the 2007 Office System in blogs.
Office has evolved a lot as a development platform and the best part is that you will be able to watch it with your own eyes. No matter where you are, you can watch and listen to Bill Gates and Kurt DelBene showing investments done to Office programs, servers, services, and tools. Bill and Kurt will deliver keynotes next week that you should not miss, so here is all the information that you need to get ready:
When?Start Time: Tuesday, March 21, 2006 9:00 AM (GMT-08:00) Pacific Time (US & Canada) End Time: Tuesday, March 21, 2006 11:00 AM (GMT-08:00) Pacific Time (US & Canada)
How can I sign-up for the Live MSDN Webcast?Go to: http://go.microsoft.com/fwlink/?LinkId=63190 and register.
This keynotes are for developers, so don’t miss the opportunity to learn about new development opportunities and potential ideas to build tools and business solutions using the 2007 Office System.
Another hint, some great cool “things” will be announced next week, so stay in touch...
I have the honor of sharing an office with Jim Corbin, who is the programmer writer for Project. Jim is the guy responsible for writing developer oriented documentation, articles, and the SDK for Project. So as you can imagine, he has great knowledge, expertise, and experience with everything related to Project and Project Server.
One of the advantages of sharing an office with Jim is that I get to learn a lot from him about what's coming for Project Server. Another great advantage is that Project PMs and developers come often to discuss about new features and cool enhancements related to Project and/or Project Server and I am lucky to overhear their discussions (I know I should mind my own business, but sometimes, I just can't help it).
So yesterday, the Evil Doctor PorkChop (Treb Gatte - Project Server Program Manager) came to visit Jim and we all ended up taking about Project blogs and books. So here I am passing up the word of great blogs and books about Project Server that Treb and Jim recommend:
Microsoft Project bloggers:
If you want to learn more about Project and what's new for developers in Project 2007 and Project Server 2007, be sure to visit the following blogs:
External Project bloggers and Web sites:
Treb Gatte compiled a list of great Project blogs that you should not miss:
Great books about Project Server:
These books were recommended by the Treb and Jim as great books in the market for Project Server:
Don't forget to visit the Microsoft Office Project 2003 Developer Center to find technical articles, reference documentation, downloads, solution starters, code samples, multimedia and more resources related with Project.
Thanks a lot to Jim and Treb for allowing me to dive into their conversation and for sharing these useful resources.
Some time ago I shared a pointer to the Office & SharePoint PDC '05 slide decks. I just got in my Inbox a pointer to the PDC '05 recorded sessions and I just wanted to share the pointer with all of you in case you didn't know about them:
Slide decks are quite informative, but it's never the same compared to the opportunity of watching the speaker in action talking about a feature/product and of course, you get to see more than a slide that says : Demo.
This recorded sessions are public. However, they won't be live for much longer, so you'd better hurry up and have fun watching some of these sessions.
I hope you like 'em.
The Channel 9 team has defined a new level of communication between Microsoft and developers and one of the most popular content items offered on this space are video interviews. The interesting thing about these videos is that they allow us to see the human being behind the technology and learn more about the possibilities offered by a product or feature.
The video interviews are done to different Microsoft personalities in a casual way described by Scoble as "peer-to-peer over a beer." Once the interview is recorded, the Channel 9 team publishes and developers are able to comment and ask questions related to the interview through a forum. These videos are state-of-the-art for self training, it only takes you some minutes to learn something new, and by the way, they are hilarious.
The Channel 9 team has done some video interviews related with 2007 Microsoft® Office system (Office "12") that you should not miss:
We are working together to offer more videos related with Office development. I think it's an interesting opportunity to meet all the great people that have been working with Office and to learn more about the cool things you will be able to implement thanks to the 2007 Microsoft® Office system.
Finally, I am able to spell the real name for the next version of Office: 2007 Microsoft® Office system.
For those of you who have not seen the press passes and want to catch-up here is a list with some of them:
See the 2007 Microsoft Office System Pricing and the 2007 Microsoft Office System Packaging.
Maybe you have heard that this is the biggest release of the decade, and I can tell you that this version of Office has great potential as a development platform. Lots of features/enhancements were announced on Beta 1 and for Beta 2 there are more cool surprises waiting to be announced.
My latest experiment with 2007 Microsoft® Office :) is exporting an ASP.NET 2.0 GridView to Excel 2007. If you use the following code snippet, you will be able to export the content of a SqlDataSource (used to DataBind a GridView) to Excel (without automation):
We built a Web based application for MSDN content management, and we export reports to Excel 2003 using the previous snippet of code. One thing that we don't like is that we lose all formatting, so we have the data, but then we have to make it pretty again.
I ran the same process on a machine where I have the last build of 2007 Microsoft® Office and Excel 2007 is smart enough to keep my formatting. Another cool enhancement. For those of you who have Beta 1, please give it a try.
I was reading today an internal distribution list and I saw an interesting thread about autonumbered lists using WordML (2003):
"I embarked on a journey to try and transform InfoPath rich text (xhtml) to WordML. I encounter a problem when I try to transform a rich text node that contains multiple numbered lists: in the rich text they both number from 1-3, but in Word the result is 1,2,3 and 4,5,6."
Zander Westendarp provides a great workaround: If you increment the value of the w:listDefId elements for each element, you can get autonumbered lists that always restart the numbering.
When I work with WordML or SpreadsheetML, I always build a template of the document/spreadsheet that I want to generate and save it as XML. It's the best way to get started with the code that you want to generate. I made an experiment to test this approach and explore the resulting WordML. Follow these simple steps...
Once you create the XML Document file, you can open the file using a text editor program to explore the content of the file. Find all the w:listDef elements and you will see how the w:listDefId attribute is always incremented.
Tip: If you want to see a nice and readable indented XML file, see this blog entry.I know that WordML is a big topic and every document is a separate story. Newsgroups, forums, and DLs are always full of different questions. Taking about lists is just a single topic - that by the way is huge and complex by itself. Fortunately there are documents, articles, books, and cool bloggers who share their knowledge.
Here are some WordML resources that I use when I am stuck with WordML:
If you want to learn more about lists and WordML, read Oleg Tkachenko's blog entry: Generating WordprocessingML using XSLT: Lists. Also read John Durant's blog entry: WordProcessingML, XML, and Lists.
Finally, to learn WordML, divide and conquer, that's my strategy...
You should check this out! Imtiyaz Mubarak (a developer, Microsoft Parter, and friend from India) along with Chris Castillo from the Visio team created and published a component that provides a Visio Add-In and a Project Add-In that integrates Visio 2003, Project Server and MS SharePoint Server. This component allows you to:
Generate Project Plans from the Visio Process Flow Diagrams.
Generate Project Plans from WBS.
Generate SharePoint Tasks from the Visio Process Flow Diagrams.
Report the Status of the tasks from Microsoft Project Plan stored locally or in a Project Server.
Report the Status of the tasks from Microsoft SharePoint Portal Server.
Generate a Portfolio View in Visio from Microsoft Project Server.
Generate Visio Process Flow Diagram from MS Project Plan through MS Project Add-Ins.
This component is published in GotDotNet and it’s really cool. This is the kind of stuff that solves business needs and I love that it integrates different Office technologies. I am sharing with you the link where you can download the solution along with source code and a document that explains the architecture and code.
This is good stuff!
This is good stuff!
I have been receiving some emails from developers who can't wait to start playing around with Office "12" and that want to know how to enroll to the Beta 2 program. I don't manage the program, but I just talked with someone from the Office "12" Partner Readiness Team and here's what you have to do:
For Beta 1:
Office 12 Beta 1 is a limited, non-public beta for partners who have achieved the Information Worker Solutions Competency status. You can learn more about the Information Worker Solutions Competency by visiting https://partner.microsoft.com/global/competency/iwsolutions/40010101
For Beta 2:
To register for Office “12” Beta 2, available later this spring, please go to http://www.microsoft.com/office/preview/default.mspx and click the “register now” link at the top of the page.
I encourage you to register and start experimenting with Office "12". I have been playing around with Office "12" for some time and every day I get surprised while I discover new features.
Today I was working with Excel "12" and I made some demo graphics that present some MSDN traffic results. I really like the professional and cool look that you can get when you are building charts and they are quite easy to customize.
So if you want to start playing around with Office "12" too, follow the previous instructions and I am sure you will have a blast!
Look what I just found: 101 Visual Basic and C# Code Samples. The www has lots of great things out there and sometimes we can't know about all of them. I have ended finding many good code samples by accident and I am always happy to find them; it's almost as good as when you find money in the pocket of a jacket you haven't used in a while.
An interesting thing of developing Office applications using managed code is that you always need knowledge of how to work with multiple .NET assemblies to accomplish different tasks. Even if you are a great developer and already know a bunch of classes, it always comes handy to learn best practices. Here is a list of some code samples you can find in there:
...and more, in fact 101 great code samples that are good to keep in your jacket's pocket.
To view the list of Office "12" bloggers from my previous blog entry you must have Microsoft® Internet Explorer 5.01 Service Pack 2 (SP2) or later and the Microsoft Office 2003 Web Components.
For those of you that have a different browser here's the list:
If you were using a SharePoint site, you would also need to build a web part that displays any Web page 1, 2, 3, 4, 5 or 6 and this would take you longer. Using Excel Services, it took me less than a minute to add and configure a web part that displays an Excel Spreadsheet.
If you want to learn more about Excel Services, don't miss the opportunity to read David Gainer's blog. By the way, one of the Excel Spreadsheets that I wanted to share with my team is a growing list of Office "12" bloggers. I wish I could show you all a running Excel Services web part. I can't run Excel Services in my blog so I went for the Web page 1 approach to share with you my Office "12" bloggers list.
As a developer, I was quite excited to learn that Office "12" will allow you to save documents as PDF/XPS. Since that moment, I have been quite surprised to see excitement around that feature. I am now happy to learn more about XPS. You should read Jeff Bell's blog and Andy Simonds's blog to learn more about this.
For those of you who have been asking through my blog and email if this functionality (Save As PDF) is going to be exposed in the API the answer is YES! Office PIAs will have methods that expose this functionality. The details and sample code will be available after we ship Beta 2.
If you want to learn more about Windows Vista and Microsoft Office "12", you can enroll to the ISV Touchdown Briefings for Windows Vista and Microsoft Office "12."
The Office "12" preview includes the following:
I have given my blog a long winter vacation and here I am back and quite excited to start writing more news related with Office "12." This is going to be a great year for Microsoft with Windows Vista and Office "12" being shipped; everybody here at Microsoft is starting this year full on energy, enthusiasm, and hard work for all of you.
I am currently working on the content plan for MSDN and Office "12" and the current wish list that I am building contains a proposed set of technical articles, columns, quickstarts, recommended books, white papers, code samples, screen casts, and product team video interviews (we are working close to Channel 9 to produce great videos that are valuable for Office developers). We are defining specific content items for each of the following products and features:
If you have been reading Office "12" blogs (Brian Jones, Jensen Harris, David Gainer, Jeff Bell, and Brendan Busch have extraordinary Office "12" blogs), you are enrolled to Office "12" Beta program (if you want to register go here), or you are just interested in what's new for developers in Office "12" and SharePoint, and if you have recommendations of articles, code samples, interviews or anything that you think is a must have for Office developers, please let me know. Write your own wish list and feel free to let us know what you and/or your customer would love to see and keep visiting this site to learn more about what's coming for Office "12."
I wish you all a great 2006 year full of happiness, health, work, and good things.
Last week we published a new Office Talk column: Generating Active Directory Diagrams with Visio 2003 and Visual Studio .NET 2003. I am very happy about this and I have to say that I had a lot of fun writing this article and code.
Everything started back in September at PDC when I met with a customer who asked how to build custom Active Directory Diagrams with Visio 2003. We talked about the possibilities and in general I explained how he could build an Active Directory diagram. Active Directory is one of my favorite topics :). When I came back to Redmond I met with my friend and peer Saul Candib, who is the programmer writer for Visio. We talked about the scenario and we decided to work together to build a code sample and a technical article that would help Office developers to learn how to:
One important note for developers who are already working with Visual Studio 2005. The Visio 2003 SDK Add-in/Add-on wizard was designed for Visual Studio 2003, and that approach will not work with Visual Studio 2005. However, you can build a Shared Add-in (instead of using the Visio 2003 SDK Add-in/Add-on wizard) and everything will work just fine. Bill Morein, who is a Program Manager for Visio wrote this interesting blog entry where he explains how to create Visio COM Add-ins with Visual Studio 2005.
I hope that you enjoy this article and find it useful if you are one of those developers who are currently looking for options to build custom Visio 2003 solutions. I can say that Saul and I were really happy to put this together and we would be quite pleased to know if you liked it :-).
Have a peek and enjoy!
Every file created by a Microsoft Office application supports a set of built-in document properties. In addition, you can add your own custom properties to an Office document either manually or through code. You can use document properties to create, maintain, and track information about an Office document such as when it was created, who the author is, where it is stored, and so on. To get or set the properties you can use automation to extract the Microsoft Office application properties.
Take a look at the following links for samples:
But what happens if you are working with a Web-based application and you want to avoid the use of automation in a Web server…
I found a nice workaround to extract Office document properties without using automation. You can use the Dsofile, an in-process ActiveX component that allows you to read and to edit the OLE document properties that are associated with Microsoft Office files, such as the following: • Microsoft Excel workbooks• Microsoft PowerPoint presentations• Microsoft Word documents• Microsoft Project projects• Microsoft Visio drawings• Other files without those Office products installed
If you are working with a managed application follow the next steps:
You can also extract custom properties using the DSOFile control. Have a peek and enjoy!
Office has a deeper integration with XML technology and developers are always looking for tips and tricks to work with XML documents. Office provides support to work with XML and you might be one of those developers that is programmatically generating Word documents (using WordprocessingML) , Excel spreadsheets (using SpreadsheetML), PowerPoint slides (using PresentationML), or Visio diagrams using (DataDiagrammingML). I think it always comes handy to have a list of tips and tricks to work with XML, and today I will share with you three simple ways of indenting an XML file/document.
Indenting XML files might sound as one of those netpick or nice-to-have enhancements that you don’t really need when you are working with XML. However, lots of applications and tools generate programmatically XML files and it always comes handy to open a nice and readable indented XML file instead of a “how can I edit this!” single line of eternal XML elements.
For managed applications:
For any platform:
Happy Office XML programming!
Today is a great day for Microsoft: Visual Studio 2005, SQL Server 2005, and Biztalk were launched. I want to share with you the list of my favorite Visual Studio 2005 features and some pointers to articles, videos, code samples, and sites where you can find further information:
Watch this video:
You can find more videos here: Absolute Beginner’s Video Series
I know that when someone from Microsoft states that a product is good, it sounds like marketing. But I have to tell you that I am being honest and talking only as a developer that is quite excited to experience and work with Visual Studio 2005. The best you can do is to give it a try.
I am currently developing an application that will help my team (Office Developer Documents) to manage all the metadata associated with the publishing process in MSDN. The name of the tool is Rawhide and it’s a Web-based application. I am really excited of developing this tool because I am working with Whidbey, ASP.NET 2.0, SQL Server, Windows Sharepoint Services, and a cool set Office development features. Soon I will start adding Office “12” enhancements such as Excel Services and Windows Sharepoint Services “v3”. I can’t wait!
I am learning a lot from my peers about how interesting it is to publish content in MSDN and I hope this tool will improve our working experience and become a great source of code snippets that I can share with the community.
Today I was reading the newsgroups and I was looking at lots of posts where developers are looking for code that will help to upload programmatically files to a SharePoint library. I was surprised to see that there are lots of developers struggling with this issue. I am too :). One of Rawhide’s features is to submit our articles, code samples, and art to a SharePoint Library.
I found two great articles that are helping me out to accomplish my mission. I know there are many ways of doing that, but this is the recommended one by Microsoft and I love it because it has just what I needed and it has code in C# and VB.NET:
Uploading a File to a SharePoint Site from a Local Folder
I also found this page that has all the information I need to work with the SPFileClass.
And finally, I found this interesting blog entry at Bill Simser’s blog where he talks about the Syncronization of Office Document Properties with WSS Document Libraries. I haven't tested this yet, but apparently, if you create the following properties in a Sharepoint library or list:
Subject Author Manager Company Category Keywords Comments Hyperlink base "The MS/Office documents that are upload inherit such corresponding custom MS/Office properties : "Subject0 Author0 Manager0 Company0 Category0 Keywords0 Comments0 As soon as I complete my "upload files to SharePoint" features in Rawhide, I will keep you posted with the outcome.
Technology and the Internet created an information revolution that has changed our lives. Today, Bill Gates announced a new set of internet-based services that change the delivery and business models for software. Microsoft has been quite successful with X-Box live and I can tell you that I have seen that having a “live” game completely modifies the experience. So I find quite exciting that Windows Live™ and Microsoft® Office Live were announced.
Windows Live™ is a set of personal Internet-based services and software that you can subscribe to get the information and resources that YOU want, for example email, messenger, your favorites, and more. What is the advantage? For example, you no longer will need to transfer your favorites (I hate that) from machine to machine. Subscribe and take a look at some Windows Live services here: http://ideas.live.com.
Microsoft® Office Live is a new set of Internet-based services and software that will allow people and organizations to subscribe to specific services that integrate with Microsoft Office programs including Microsoft Outlook®, Microsoft Excel®, Microsoft Office Live Meeting and Microsoft Office Small Business Edition. Subscribe and take a look at some Microsoft® Office Live services here:http://www.microsoft.com/office/officelive/
Office Live has different offerings:
So depending on your needs you can choose the best services and over time, both Windows Live and Office Live services will expand and provide new services that you can subscribe to.
One of my favorite features in Microsoft Excel is AutoFilter. I love to manage lists of data in Excel where I can organize, sort, and filter my information in different columns.
Filtering is a quick and easy way to find and work with a subset of data in a range. A filtered range displays only the rows that meet custom filter criteria defined in a search query or fitler specified for a column. Microsoft Excel provides two commands for filtering ranges: AutoFilter and Advanced Filter. Unlike sorting, filtering does not rearrange a range. Filtering temporarily hides rows you do not want displayed. When Excel filters rows, you can edit, format, chart, and print your range subset without rearranging or moving it. You can learn more about autofiltering here: All About AutoFilter.
The best part is that you can programatically generate autofiltered lists from your managed applications thanks to the extensibility offered by the Microsoft Excel Primary Interop Assembly. You can use the Range.AutoFilter method to filter a list using AutoFilter. The following code sample (C# Console Application) generates an autofiltered list of all the directories and files that belong to given directory path. You can modify the code and send any path that you need.
Run this application and give it a try!
The Office Developer Center has a new version of the InfoPath Developer Portal. Visit this portal to find InfoPath articles, blogs, newsgroup threads, code samples, getting started resources, labs, webcasts, and more.
I remember many days (and nights too) when I was desperate trying to find some source code, conceptual or procedural documentation related to a specific technology and I just could not find the exact line of code that I was looking for. I remember also how grateful I felt when I found an article in a developer community Web site and I just can’t describe how thankful I was to the different authors that invested their time thinking in someone else and writing down their experiences and knowledge. By now, I owe two many beers to people that write for MSDN, Code Project, and C# Corner; however, more than buying a beer to every author who has helped me through my technical struggles, I knew that there was a better way to pay back the help and advice to the developer community: making yourself a contributor.I started writing technical articles and published them at my Web Site, later, some articles were published in C# Corner, and two months ago I joined Microsoft again. This time having the great opportunity to do developer evangelism through the Office Developer Center. I am currently writing my first "MSDN column" and in the middle of the writing I stopped to think about how much we can share with other people. Technology evolves so fast that a single person could never know everything there is to know. However, we still can learn from other people who share their knowledge with the community. So I am doing my best to help other people in the same way because I appreciate the effort and time that other people invest in sharing their knowledge.
I don't have a big list of published articles because most of the technical documentation that I created in MCS belongs to the customers. However, I published this year the following technical articles:
I hope the list keeps growing, and as I promised today to Guy Stat, I will get to "Object-Oriented Programming Concepts and .NET Part 3." I have been so excited with Office development that I completely forgot about this and I got to the very bad practice of writing an incomplete series of articles.
If there is some topic that you think is a MUST at the Office Developer Center, please let me know. We are constantly looking for ideas of great content that developers would die to have.
My two cents....
I was making some research on Visio development for managed applications and I found this interesting article that explains in detail how to integrate an interactive Visio drawing board to your managed applications.
Host an Interactive Visio Drawing Surface in .NET Custom Clients
I have some friends from MCS that used the Visio Drawing Component for a project, and at the project's time, they found few documentation that explored this topic. However, now you can see this great article and ramp up quickly to Visio development.