Erika Ehrli - Adventures with Office Products & Technologies
MSDN & TechNet: Releasing Office, SharePoint, Exchange & Lync Centers and content for developers and IT professionals.

  • Erika Ehrli - Adventures with Office Products & Technologies

    How to Upload Files to SharePoint Server 2007 from ASP.NET Web Applications


    Some time ago I  blogged about How to: Uploading a File to a SharePoint Library Site from a Local Folder and How to: Magic with SharePoint 2003, uploading files using a Web service. Some people found these samples useful and some people asked if I could provide sample code that works with SharePoint Server 2007.

    For some time I asked around and realized that there are multiple possible ways to accomplish this task in SharePoint 2007. Here are some popular approaches I’ve learned about and some great possibilities and drawbacks for each:

    • Copy Web service (Copy.asmx): The Copy Web service provides services for copying files within a SharePoint site and between SharePoint sites. Some people have created great samples that show you how to use this Web service to “upload” files while having some control over content types and metadata. This approach actually copies content from one SharePoint site to another, which is great, but may not be the best option if you want to upload files from your local drive to a SharePoint site.
    • Imaging Web Service (Imaging.asmx): This Web service provides methods that enable you to create and manage picture libraries. This WS has an upload method that allows you to upload different files (including non-image files) to SharePoint Image libraries (only) on the current Web site.  However, you can’t use this Web service to upload files to a regular document library (Shared Documents).
    • HTTP PUT method: There’s a third option that allows you to upload files (any file type) from your local drive to a predefined SharePoint list by using the HTTP PUT method. This method is simple and you don’t need to create SharePoint code to upload files. However, for the same reason, you won’t have programmatic control over file metadata on SharePoint lists. It’s super useful though, and I believe this is the best possible way (that I know of so far) to upload files to SharePoint Server 2007.

    For this last approach, Joel Krist has created a new Office Visual How-to that shows how to use the HTTP PUT method to programmatically upload files from an ASP.NET Web application to a Microsoft Office SharePoint Server 2007 site: Uploading Files to SharePoint Server 2007 from ASP.NET Web Applications by Using the HTTP PUT Method. This article provides code samples in both VB and C# and a video that shows how to this.

    Here’s a preview of the video from that same article.


  • Erika Ehrli - Adventures with Office Products & Technologies

    MSDN Office Developer Center – Pre Office/SharePoint 2010 Update


    MSDN Developer Centers pull together content and resources around specific products and technologies. They connect developers with code samples, community sites, technical articles and documentation, upcoming events, and much more. The MSDN Office Developer Center (ODC) provides a developer roadmap to understand and work with Office System programs, servers, services, tools and technologies.

    As we prepare for our next product release (Office 2010 and SharePoint 2010), we worked on a set of site updates to improve navigation, increase discoverability of content, and add more community content and features.

    Here’s a summary of new features and updated pages:

    • Home (Update): Latest blog posts and bio rotator from Microsoft employees experts in Office and SharePoint development. More featured MVP bios and articles. Office resources such as MSDN Magazine articles, Channel 9 videos, Books, Code Gallery samples, and more scoped to Office and SharePoint development.


    • Products tab (new): The Microsoft Office system evolved from a suite of personal productivity products into a comprehensive, multifaceted, and integrated system. Building on a solid foundation of familiar tools, the Microsoft Office system today includes applications, servers, services, and technologies designed to work together to solve a wide array of business problems. We have lots of products that have their own developer story, so we built a tab that provides quick access to developer resources by product. This navigation matches Office Online’s Products tab navigation.


    • Learn (update): Provides quick access to getting started resources and tools that help you learn more about the Office Developer roadmap.  Redesigned to include links to product-specific learn pages on the developer center (such as Access, SharePoint Server, and so on). All links on the page are scoped to Office Development content, and the certifications and exams listed are specifically for Office and SharePoint developers. We also showcase a featured book of the month on this page with a link to the new Office Developer Bookstore.


    • Downloads (update): Redesigned to align more closely with what our customers wanted. We received feedback that made it clear that our developers wanted more than a list of most popular or latest downloads. This page provides now links to Downloads (By Product), quick access to the Microsoft Download Center, Office Downloads and Updates, CodePlex, Code Gallery, and more – all scoped to Office Development.  We kept our four most popular downloads at the top of the page so they are easy to find. Finally, we provide at the bottom an RSS pull for our recently published downloads.


    • Support (update): This page is now scoped to Office, rather than general help links. In addition to a new template, we added scoped links to each product’s Solution Center as well as forum and newsgroup links. Section 4 adds links to other support-related pages on the Office Developer Center, as well as cross-links to Office, Project, and SharePoint TechCenters on TechNet and to the Help and How-to Center on Office Online.


    • Community (update): The “Office Community Resources” set takes developers deeper into Office Community content, both within the MSDN Office Developer Center and outside it. The “Featured Community Content” set rotates the latest content from our MVPs, partners, and experts from the Office and SharePoint developer community. Bio rotators include photos and links to their MVP profiles. We also rotate a set of featured developer books from our MVPs with a link back to our Bookstore. We added dynamic feeds for Twitter, Delicious, and DIGG, scoped to Office development as well as an invitation to follow us on Twitter and Facebook. The Community Submitted Content page in this section  now features Community Highlights, an MVP rotator, a list of top contributors, as well as a comprehensive list of content that our MVPs and community partners have written. In addition to the community section of the portal, we’ve also added MVP rotators to our product home pages as well as improved their product-specific Community pages.


    • Forums tab (new): You can now access MSDN Forums related to Office Development, Office Live Development, SharePoint Products and Technologies, and Unified Communications from the MSDN Office Developer Center.


    If you’d like to hear more about what we do or provide feedback, follow us on Twitter, and join our Facebook group. We have a survey where you can leave comments related to your experience with the MSDN Office Developer Center.

    Coming soon Open XML Developer Center revamp!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Links and Toys of the Week (June 8, 2009)


    Here’s a few toys and great reads that have kept me entertained for the last couple weeks:

    IIS SEO Toolkit Beta Now Available!

    If you manage a personal or company Web site and haven’t heard about this yet, get ready to be amused. The IIS team released last week the IIS Search Engine Optimization (SEO) Toolkit Beta – a free toolkit that helps Web developers, hosting providers, and server administrators improve their sites’ relevance in search results by recommending how to make them more search engine-friendly. The SEO Toolkit Beta is available for installation via the Microsoft Web Platform Installer 2.0 Beta.

    The IIS SEO Toolkit Beta is a piece of the larger Microsoft Web Platform strategy, which enables developers and end-users to build great websites, experiences, and achieve success in the Web ecosystem.

    Some of the great features this tool includes are: customization of crawling (you can ignore ‘nofollow’ attribute and ‘noindex’ metatag, define #links to crawl, and consider internal linking from groups of directories and subdirectories). You can also get SEO violation reports, query results using a UI query builder, generate sitemaps, page inventories, reports of external and internal links,  and much more. My favorite one is the keywords suggestions view:


    We’ve already crawled MSDN_Office and we’ve found lots of SEO violations. We already started fixing critical issues and our Web site will benefit extensively by using this tool and following best practices recommended by this tool. If you are interested in improving your site for SEO, this download is a must!

    Here’s a few great reads and sites for download:

    Stsadm SilverLight application is live on TechNet

    If you are doing SharePoint development and configuration and struggle to remember Stsadm commands, you should check out this super cool application. It provides a fully browsable interface, in-depth information from the TechNet TOC and library, and links to specific topics for each Stsadm command line operation and property. By using separate XML data files, the SilverLight application is instantly updatable and localizable.


    You can find the Stsadm SilverLight application on TechNet here:

    Some other blogs posts where you can find more info about this tool:

    MSDN thinking out-of-the-box and Scott Hanselman’s blog

    Even after years of getting my hands on Office development and loving it, I still continue being a passionate Web developer. I still keep my addiction to anything ASP.NET, AJAX, Silverlight, and Web platform in general.  ScottGu’s blog is a great read to keep-up with news from DevDiv. Another fantastic blog to follow is Scott Hanselman’s blog.  Scott is an expert in Web development and a former ASP.NET MVP who is now working with MSDN and providing great insight and suggestions to improve MSDN. He has a couple blogs posts that discuss alternate views for MSDN, including a Low-Bandwith (loband) view and MSDN Updates - and RFC for you. He is currently working with MSDN on a set of proposed let's go crazy here and try some way-out-there-MSDN designs for MSDN Developer Centers. Here’s a couple designs:

    MSDN_TRAM_HOME_thumb[1] MSDN_SHOE_HOME_D_thumb[1]

    It’s great that someone like Scott is providing all this out-of-the-box thinking and ideas for MSDN. The MSDN Office Developer Center team can’t wait to see the final designs and roll them out to our pages. More here:  You can also follow Scott on on Twitter: @shanselman


  • Erika Ehrli - Adventures with Office Products & Technologies

    Office 2010 for Developers: Conference moving to SharePoint Conference 2009


    Last year I had the opportunity to attend the Office Developer Conference 2008 in San Jose, CA. I remember being there with Sanjay, Ken Getz, and Wouter at the Open XML booth where we had the opportunity to talk to some of you about the latest improvements to the Open XML Format SDK 1.0 and distribute Open XML posters.  I was super happy to hear from Gray that we will have an Office Developer Conference moving to the SharePoint Developer Conference 2009. Office 2010 enables better integration between Office client applications and SharePoint products and technologies. It makes sense to have a shared conference.

    For those of you who are already collecting links to Office 2010 resources, don’t forget to sign-up for the Technical Preview and to pass on the word about the Office Developer Conference this year.

    Here are some other MS blogs that you should follow for news about the conference:

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Links of the Week (May 15, 2009) for SharePoint Developers

    1. The Windows SharePoint Services Developer Center has a new face and great community features and MVP highlights. This site has a new Bookstore and great Learn resources including videos and webcasts, virtual labs, and resource centers.  Check it out at:  wssDevCenterBoston[1]
    2. The SharePoint Designer Developer Center has a new face as well. Check it out at: Also, if you have not heard the news yet, SharePoint Designer 2007 is now free!
    3. News from the SharePoint Community in Spanish: Luis du Solier (MVP) has a great blog post and summary (Spanish only) for the 2nd Latin-American Symposium for SharePoint. Slide decks in Spanish as well.
    4. Here’s a compilation of great SharePoint and Office team blogs (courtesy of the fantastic list of official Microsoft blogs by Official Microsoft Team Blogs / Microsoft Blogs).


  • Erika Ehrli - Adventures with Office Products & Technologies

    Open XML Format SDK 2.0: Getting Started Best Practices


    The Open XML Format allows you to generate, manipulate, or pull data from Word 2007, Excel 2007, and PowerPoint 2007 files. If you are working with Microsoft-based solutions, you can generate, manipulate, and pull data from documents using the following tools and technologies:

    Note: If you are working with Java or PHP/Linux/Unix/Solaris, you can also find plenty of resources here and here.

    Anyway, today I want to focus on a couple best practices for getting started with coding for Open XML Format SDK 2.0.

    For the last couple of months I have been working with some Open XML gurus: Zeyad Rajabi, Linda Lanqing Brownell, Eric White, Joel Krist, and Ken Getz. We are working together on a new set of Visual How-tos for the Open XML Format SDK 2.0 and a set of 50+ code snippets for Visual Studio 2008 to be released soon on MSDN.

    Quite frequently I hear from most of them a couple best practices that I’d like to share with you today: If you plan to build a solution using the Open XML Format SDK 2.0…

    1. Always start with a template for your solution
    2. Use DocumentReflector to get started with coding

    Always start with the template for your solution

    The very first thing we recommend you to do before you start writing code for a document solution, is to create the template. Depending on what kind of solution you want to build, you can use Word 2007, Excel 2007, or PowerPoint 2007 to create a template.

    Imagine that you own a software company and you sent all your developers and consultants to the great Office and SharePoint sessions at TechEd this year. The end of the fiscal year is coming soon and you need expense data from each conference attendee ASAP. Developers and consultants plan to spend this weekend on New Orleans, so you ask them to fill out a Web-based Expense Report form that sends data to your company’s accounting database. Your accountant loves Excel 2007 and she asked you to export all expenses per/employee to Excel spreadsheets so she can review details before approving. CSV export won’t do this time because your accountant wants it all pretty and styled.  You want to figure out a way of programmatically generate the Expense Report spreadsheets by pulling data from your accounting database. You need styles and formatting as well. After evaluating lots of tools and technologies, you decide that you want to build this solution using the super cool Open XML Format SDK 2.0. Now what?

    The very first thing we recommend you to do before you start writing code is create the template using Excel 2007. You may ask your accountant to design the Expense Report template using Excel 2007, or you can always download tons of great templates from Office Online. Here’s my sample expense report template:


    Open the template using Excel 2007 and add some dummy data. Don’t forget to save the template as Excel Workbook file (.xlsx). Now that you have a template to start with, you can start coding the solution.

    Use DocumentReflector to get started with coding

    The Open XML Format SDK 2.0 download ships with a set of tools that facilitate the process of building document solutions using the SDK. One of this tools is the DocumentReflector. This tool has the ability to open an existing Open XML document and dynamically generate C# source code that uses the Open XML SDK 2.0 typesafe classes to create the document parts. Exploring the source code created by DocumentReflector is a great way to become familiar with the Open XML SDK 2.0 classes and the Office document formats. Zeyad refers to this tool as the “Macro Recorder on vitamins” and I can tell you it rocks! The main idea is that once you have a solution template, you open it using the DocumentReflector and you get a set of autogenerated classes that you can later modify with Visual Studio 2008.

    To illustrate using the DocumentReflector to create the base code for the Expense Report solution, follow the next steps:

    1. Open the DocumentReflector tool: The DocumentReflector tool is located in the Tools folder under the Open XML Format SDK 2.0 installation folder. Use Windows Explorer to navigate to the Tools folder and double-click the DocumentReflector.exe file to launch the DocumentReflector tool.
    2. Select the DocumentReflector's File | Open menu and in the Open dialog browse to the folder containing the ExpenseReport.xlsx workbook created previously, select the workbook, and click on the Open button. DocumentReflector will open the workbook and display the content of the document. Clicking on the top-level Package node will display the generated code that can be used to create the entire package.


    At this point the code generated by DocumentReflector can be copied and pasted into the Visual Studio solution for reuse and learning purposes.

    Using Visual Studio 2008 to create a Windows console application

    For testing purposes, you can create a Console application in Visual Studio 2008. Here are some generic steps:

    1. Open Visual Studio 2008.
    2. Create a new C# Windows Console Application project.
    3. Add a reference to the Open XML API assembly.
    4. Add a reference to the WindowsBase assembly.

      The next steps involve copying code generated by the DocumentReflector tool to the Visual Studio project. The DocumentReflector tool provided with the Open XML Format SDK 2.0 allows users to open a valid Open XML document, choose an XML element, part, or the whole package, and have DocumentReflector generate a C# class that can create the selected document parts using the Open XML Format SDK 2.0 classes.
    5. Select the using statements from the top of the DocumentReflector code window then copy and paste them to the top of the Program.cs file in the Visual Studio project.


    using DocumentFormat.OpenXml.Packaging
    ap = DocumentFormat.OpenXml.ExtendedProperties
    vt = DocumentFormat.OpenXml.VariantTypes
    a = DocumentFormat.OpenXml.Drawing
    op = DocumentFormat.OpenXml.CustomProperties;

    6. Select the code for all of the methods inside of the GeneratedClass class from the DocumentReflector code window then copy and paste the code as methods of the Program class in the Program.cs file in the Visual Studio project.

    7. Change the copied CreatePackage method to be private static so it can be called from the static Main method.


    private static void CreatePackage(string filePath) { 
    using (SpreadsheetDocument package
                SpreadsheetDocumentType.Workbook)) { 



    The AddParts method creates all the parts that you need in the Expense Report spreadsheet.


    private static void AddParts(SpreadsheetDocument parent) { 
               var extendedFilePropertiesPart1
    = parent.AddNewPart<ExtendedFilePropertiesPart>("rId3")

    var coreFilePropertiesPart1 = parent.AddNewPart<CoreFilePropertiesPart>("rId2")

    var workbookPart1 = parent.AddWorkbookPart()

    var workbookStylesPart1 = workbookPart1.AddNewPart<WorkbookStylesPart>("rId3")

    var themePart1 = workbookPart1.AddNewPart<ThemePart>("rId2")

    var worksheetPart1 = workbookPart1.AddNewPart<WorksheetPart>("rId1")

    var spreadsheetPrinterSettingsPart1 = worksheetPart1.AddNewPart<SpreadsheetPrinterSettingsPart>("rId1")

    var calculationChainPart1 = workbookPart1.AddNewPart<CalculationChainPart>("rId5")

    var sharedStringTablePart1 = workbookPart1.AddNewPart<SharedStringTablePart>("rId4")

    var customFilePropertiesPart1 = parent.AddNewPart<CustomFilePropertiesPart>("rId4")


    The GenerateSharedStringTablePart1() method contains the code that you need to create values for the table on the Expense Report. You can modify this code to iterate through the accounting database. You can pull expense report data by employee and replace the dummy data you entered.

    private static SharedStringTable GenerateSharedStringTablePart1() { 
             var element

    new SharedStringItem( 
    new Text("Name")), 
    new SharedStringItem( 
    new Text("Department")), 
    new SharedStringItem( 
    new Text("Manager")), 
    new SharedStringItem( 
    new Text("Position")), 
    new SharedStringItem( 
    new Text("From")), 
    new SharedStringItem( 
    new Text("To")), 
    new SharedStringItem( 
    new Text("Date")), 
    new SharedStringItem( 
    new Text("Account")), 
    new SharedStringItem( 
    new Text("Description")), 
    new SharedStringItem( 
    new Text("Transport")), 
    new SharedStringItem( 
    new Text("Fuel")), 
    new SharedStringItem( 
    new Text("Meals")), 
    new SharedStringItem( 
    new Text("Phone")), 
    new SharedStringItem( 
    new Text("Subtotal")), 
    new SharedStringItem( 
    new Text("Advances")), 
    new SharedStringItem( 
    new Text("For Office Use Only")), 
    new SharedStringItem( 
    new Text("Misc.")), 
    new SharedStringItem( 
    new Text("Hotel")), 
    new SharedStringItem( 
    new Text("Entertainment")), 
    new SharedStringItem( 
    new Text("PURPOSE:")), 
    new SharedStringItem( 
    new Text("STATEMENT NUMBER:")), 
    new SharedStringItem( 
    new Text("PAY PERIOD:")), 
    new SharedStringItem( 
    new Text("EMPLOYEE INFORMATION:")), 
    new SharedStringItem( 
    new Text("Total")), 
    new SharedStringItem( 
    new Text("APPROVED:")), 
    new SharedStringItem( 
    new Text("NOTES: "){ Space = "preserve" }), 
    new SharedStringItem( 
    new Text("    SSN"){ Space = "preserve" }), 
    new SharedStringItem( 
    new Text("    Employee ID"){ Space = "preserve" }), 
    new SharedStringItem( 
    new Text("Expense report")), 
    new SharedStringItem( 
    new Text("TechEd 2009")), 
    new SharedStringItem( 
    new Text("Erika Ehrli Cabral")), 
    new SharedStringItem( 
    new Text("123456")), 
    new SharedStringItem( 
    new Text("12345678")), 
    new SharedStringItem( 
    new Text("Office Development")), 
    new SharedStringItem( 
    new Text("JPBagel")), 
    new SharedStringItem( 
    new Text("Delicious breakfast")), 
    new SharedStringItem( 
    new Text("Developer (in my dreams)")) 
                 ){ Count
    = (UInt32Value)38U, UniqueCount = (UInt32Value)37U }

    7. Modify the Main method and add a call to the CreatePackage method.


    static void Main(string[] args){ 
    // Create an Excel workbook named ExpenseReportTest.xlsx 
        // in the current folder. You can write some code here to iterate through
        // your accounting database and generate one Spreadsheet per employee.    


    8. Build and run the sample. Using the code shown above the sample application will create an Excel workbook named ExpenseReportTest.xlsx located in the Visual Studio project's Debug or Release build folder depending on the selected build mode.

    Opening the workbook with Excel will display a workbook that looks just like the ExpenseReport.xlsx workbook created previously.

    More resources

    If you are looking for more end-to-end solutions using the Open XML Format SDK 2.0, you must see this articles:

    Also, as mentioned before, Brian’s/Zeyad’s blog and Eric’s blog are always a great resource for Open XML code samples.

    Coming soon the set of Open XML Format SDK 2.0 VHTs and code snippets for Visual Studio 2008!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Office 2007 Service Pack 2 Download and Improvements for Developers

    dd490655.DeskApps(en-us,MSDN.10)[1] The Office 2007 SP2 is available now for download:

    Here are some improvements on SP2 that matter to developers:

    • Save as PDF and XPS: One of the coolest things you can do from Office 2007 Word, Excel, and PowerPoint is “Save As” PDF or XPS. You can also programmatically Save AS ODF or XPS using the OM. Here’s a cool video that shows how to do this:
    • Update: Also, here's a great sample VBA sample code from Ron de Bruin:

      Before SP2, you could download a free add-in to get this functionality. The SP2 offers this functionality out-of-the box.

    • Save as ODF 1.1 for Word, Excel, and PowerPoint: OpenDocument 1.1 (ODF) has been added as an available file format for saving documents in Word, Excel and PowerPoint. Our decision to support ODF is just one aspect of Office's broad commitment to choice and interoperability, as covered by Tom Robertson today on the Microsoft on the Issues blog. See Doug Mahugh’s great blog post for details.
    • New External File Format Converter API: In addition to allowing you to edit the ODF 1.1 format within Office 2007, SP2 also supports a new External File Format API that can be used to edit other document formats as well. With this API, users can choose to save their documents in any format they want. You can find more details at Stephen Peront’s blog. We are planning to release some developer documentation that shows how to work with this API on MSDN.
    • Charting Object Model for Word and PowerPoint: A charting Object Model (OM) for Word and PowerPoint has been added to align with the charting support in Excel. Many customers expressed a need to programmatically insert, manipulate the size, and set the formatting of the charts similar to what was provided in the Office 2003 release. David Hale has a great blog post where he explains all the details.
    • SharePoint and WSS 3.0 updates: Microsoft® Windows® SharePoint® Services 3.0  Service Pack 2 (SP2) and Microsoft® Office SharePoint® Server 2007  Service Pack 2 (SP2) include updates designed to improve performance and availability in your SharePoint server farm, along with fixes to known issues across SharePoint Products and Technologies. In addition, SP2 provides enhancements designed to support greater interoperability, improve user experience and reduce administrative burden. Finally, SP2 provides the groundwork for an eventual upgrade to the next major version of SharePoint Products and Technologies. You can find a high-level overview of what Sharepoint SP2 offers here and at the SharePoint Team blog.

    Gray Knowlton has a couple great posts that explain more details of this release:

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Office “14” – Microsoft Office 2010 Products and Technologies: Names & Availability


    Today as part of the Exchange 14 annoucement we officially announced the name and availability of Office “14” products and technologies!

    Exchange Server 2010 will become available in the second half of 2009. Microsoft Office 2010 and related products will enter technical preview in the third quarter of 2009 and become available in the first half of 2010.

    Microsoft Office 2010, Microsoft SharePoint Server 2010, Microsoft Visio 2010 and Microsoft Project 2010 are scheduled to enter technical preview in the third quarter of 2009 and release to manufacturing in the first half of 2010.

    I am looking forward to share with the developer community the latest news related to our Microsoft Office 2010 release.

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Office Palooza: Join the contest to test & sharpen your VBA programming skills!


    MSDN® is sponsoring a coding contest for Office 2007, named OfficePalooza! This sweepstakes will run two weeks beginning April 20, 2009, and features ten fun Visual Basic of Applications™ (VBA) coding challenges in the form of puzzles and games. Each entrant will earn a chance to win one of hundreds of available prizes, determined by a random drawing at the end of the contest.

    About OfficePalooza

    About OfficePalooza
    What’s this all about, and where did this crazy idea come from, anyway?

    OfficePalooza Challenge Preview

    OfficePalooza Challenge Preview
    Get a preview of the types of challenges you’ll be seeing with these short summaries. We’ve also included deadlines so you’ll be able to plan ahead.

    Introduction to VBA

    Getting Started with VBA

    If you’re new to Visual Basic for Applications (VBA), this article might help prepare you for the challenges.

    Binder Clippy

    The Story of Binder Clippy
    An introduction to our mascot, Binder Clippy!

    Find all details about this contest at the Office Palooza Web site:

    In conjunction with this contest, an Advanced Business User theme will run on Microsoft Office Online from mid-April to mid-May, and will showcase the automation and extensibility aspects of Office 2007 through macros, custom VBA coding, the Fluent UI, and Office Open XML.  This collaborative effort will also highlight existing and newly-created content on the MSDN Microsoft Office Developer Center.

    Share the news!

    Some other bloggers who have already blogged about this contest:





    Join the contest and have fun!

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Announcing the MSDN Office Developer Bookstore


    We have some great news for Office and SharePoint developers. We launched this morning a new section on the MSDN Office Developer Center where you can find Office and SharePoint books that matter to developers. We also provide free book chapters!

    MSDN Office Developer Bookstore

    Here’s the set of links where you can find our bookstore pages:

    Why books matter to developers?

    Research has shown that books are one of the most popular learning resources among developers. I agree with Research. Devs love books and most of us like collecting books with code samples. Why not have a place where we can have a live inventory of cool books that matter to Office and SharePoint developers?

    Also, MVPs and experts from our development community have authored more than 40 Office and SharePoint top-seller books. Why not help promote their work and wisdom? To make it even better for the community, the Office Developer Documentation group has contacted different publishers and acquired more than 70 book chapters. You can access book chapters on MSDN for free from our bookstore. Some book chapters are already published and some are coming soon. We will keep adding them to our book excerpts page as we publish more.

    We joined the Amazon Associates program, so you if you want to buy a book, you can go directly from our bookstore pages to Amazon.

    Not a developer? If you are an IT professional or an Information Worker and want to find Office and SharePoint books that matter to you, you can also find books on TechNet and Office Online (coming soon).

    We’d like to invite everyone from the community to make our bookstore even better by referring more books. We are interested in hearing your recommendations for Office and SharePoint books that matter to developers. You can contact us through our Facebook group, our MSDN_Office twitter feed,  or you can leave your comments @ this blog entry.


  • Erika Ehrli - Adventures with Office Products & Technologies

    Open XML SDK 2.0 April CTP Live & Silverlight DeepZoom Class Architecture Diagrams


    For all of those fans of Open XML and followers of updates done to the Open XML Format SDK 2.0, one more happy day has arrived. The Office Client Developer Content team and the Open XML SDK product team released the Open XML Format SDK 2.0 April CTP on MSDN! Zeyad has a great blog post where he explains in detail what’s new with the latest version of the SDK.

    Brief Class Architecture Overview

    The Open XML Format SDK 1.0 is a licensed version of the Open XML SDK that allows you to manipulate Open XML package parts. However, you need to create your own code to manipulate XML content in each part. The Open XML SDK Format SDK 2.0 provides a set of strongly typed classes and objects that allow you to manipulate packages and XML content in each part. Here’s a list of the namespaces that you can find in the latest version of the SDK:

    • DocumentFormat.OpenXml
    • DocumentFormat.OpenXml.AdditionalCharacteristics
    • DocumentFormat.OpenXml.Bibliography
    • DocumentFormat.OpenXml.CustomProperties
    • DocumentFormat.OpenXml.CustomXmlDataProperties
    • DocumentFormat.OpenXml.CustomXmlSchemaReferences
    • DocumentFormat.OpenXml.Drawing
    • DocumentFormat.OpenXml.Drawing.ChartDrawing
    • DocumentFormat.OpenXml.Drawing.Charts
    • DocumentFormat.OpenXml.Drawing.Diagrams
    • DocumentFormat.OpenXml.Drawing.LegacyCompatibility
    • DocumentFormat.OpenXml.Drawing.LockedCanvas
    • DocumentFormat.OpenXml.Drawing.Pictures
    • DocumentFormat.OpenXml.Drawing.Spreadsheet
    • DocumentFormat.OpenXml.Drawing.Wordprocessing
    • DocumentFormat.OpenXml.ExtendedProperties
    • DocumentFormat.OpenXml.Internal.SchemaValidation
    • DocumentFormat.OpenXml.Math
    • DocumentFormat.OpenXml.Office.ContentType
    • DocumentFormat.OpenXml.Office.CoverPageProps
    • DocumentFormat.OpenXml.Office.CustomDocumentInformationPanel
    • DocumentFormat.OpenXml.Office.CustomUi
    • DocumentFormat.OpenXml.Office.CustomXsn
    • DocumentFormat.OpenXml.Office.Excel
    • DocumentFormat.OpenXml.Office.LongProperties
    • DocumentFormat.OpenXml.Office.MetaAttributes
    • DocumentFormat.OpenXml.Office.Word
    • DocumentFormat.OpenXml.Packaging
    • DocumentFormat.OpenXml.Presentation
    • DocumentFormat.OpenXml.Spreadsheet
    • DocumentFormat.OpenXml.Vml
    • DocumentFormat.OpenXml.Vml.Office
    • DocumentFormat.OpenXml.Vml.Presentation
    • DocumentFormat.OpenXml.Vml.Spreadsheet
    • DocumentFormat.OpenXml.Vml.Wordprocessing
    • DocumentFormat.OpenXml.Wordprocessing

    You can find documentation on MSDN for each of the previous namespaces here:

    Also, if you are into graphical content, I have created a couple more Silverlight DeepZoom Class Diagrams. Spent some time experimenting with Silverlight 2.0 to please everyone who asked me to update my previous Silverlight DeepZoom Class Explorer. As you can see from the list above, the entire OM is huge! I only created diagrams for the namespaces bolded above.

    A few notes about the diagrams:

    1. The second diagram is a large image, so rendering quality is not always the best. Looks great on my local computer, but sometimes I’ve noticed that images and rendering are blurry on the version I made available on my personal Web site. Some F5s and a good network connection make it better.
    2. If you want to run them locally, I attached to this blog entry copies of both VS projects.

    Download: DocumentFormat.OpenXML

    Download: Document.Format.OpenXML.Packaging

    To view the diagrams locally, download and extract the zip files and locate the \…\…\DeepZoomProjectWeb\ClientBin\*.html file on each project.  DocumentFormatOpenXML_CD.html is the preview file for the first project and DocumentFormatOpenXMLPackaging_CD.html is the preview file for the second project.

    3. Make sure you download VS2008 SP1 + Silverlight 2 Tools for VS 2008 SP1 if you want to open the source code in VS 2008.

    Open XML SDK 2.0 resources:

  • Download the SDK
  • Online Documentation
  • Ask a Question- MSDN Forum: Open XML Format SDK
  • Latest MSDN articles
    1. Creating Documents by Using the Open XML Format SDK 2.0 CTP, Part 1
    2. Creating Documents by Using the Open XML Format SDK 2.0 CTP, Part 2
    3. Creating Documents by Using the Open XML Format SDK 2.0 CTP, Part 3

    We have about 10 articles + videos, and 50~ code samples coming soon!

  • Great bloggers to follow:
    1. Brian Jones / Zeyad Rajabi
    2. Eric White
    3. Doug Mahugh
    4. Stephen Peront


  • Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    MSDN Office Developer Center on Twitter: Office and SharePoint News for Developers


    I’ve been experimenting with Twitter for the last couple of months and I am quite addicted to it now. I love the fact that you can get real time news and chat with so many people from the community. SharePointDev, emilysc, ninar,and ricalo have been my Twitter mentors and got me deep into the addiction.

    I’ve been twittering random news that matter to Office and SharePoint developers under my Twitter account, but wanted to create another feed where we specifically post:

    • Just published content
    • Portal updated pages
    • Top portal pages / strategic pages
    • Top articles / top content
    • Announcements for Office developers
    • RTs related to Office and MOSS developer news

    We created yesterday a Twitter feed for Office and SharePoint News.


    MSDN_Office / MSDN Office News – Get the latest news about Microsoft Office and SharePoint code samples, downloads, SDKs, references, articles, videos, and tools for developers on MSDN.

    Follow us!


    Office and SharePoint Twitters

    Back in the day, I kept collections of Office and SharePoint developer bloggers. Here's our collection of Office and SharePoint accounts that matter to developers:

    Twitter from Office Programs

    There’s tons of third-party applications to use with your Twitter account. Here are some great tools that help you connect to Twitter from Office Apps:

    Happy Twittering!

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Office 2007 and SharePoint Technical Content in your own Language


    A long time ago I blogged about Office developer resources in your own language. Ever since, we have seen the need for “Office Technical Content” in multiple languages. For example, in countries like Russia or France, developers and IT professionals create great SharePoint solutions and deployments, but there is low English affinity on those markets. In some other cases you may understand well technical content in English, but you may have a preference to read it in your own language.

    dd183105.offsite_60(en-us,MSDN.10)[1] In order to support the international community of Office and SharePoint developers and IT professionals, the Office International Publishing Group has done a lot of progress on localizing technical content from MSDN and TechNet. So far, this group has localized Office Technical Library content into ten languages.  Additionally, they have created Office TechNet and MSDN Developer Centers for 14 markets.

    Markets for MSDN – portals/ library (home pages)

    MSDN Library is available for: Japanese, French, Spanish, Chinese Simp., Russian, and German.

    Also, for MSDN Brazilian Portuguese Content we have enabled Machine Translation Wiki – Check it out here:

    Markets for TechNet – portals/ library (home pages)

    TechNet Library is available for: Japanese, French, Spanish, Chinese Simp. & Trad., Russian, German, Italian, Brazil, Korean

    Last February, the Office International Publishing Group localized two more markets – Japanese and Taiwanese.

    The areas we are looking now into are – site customization for the local market, identifying the content areas where we should invest, and engagement with the community. Any feedback is very much appreciated!

    David Pavlik, the Planner for Office Technical International content, can be reached via Twitter at Send him your ideas, feedback, and request needs about Office Technical Content.

    Hope you enjoy Office and SharePoint technical content in your own language!

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Links for February 6th 2009: Workflow Development Resources Interactive Map, Join Us on Facebook, + Lots of New Articles and Downloads


    It's cold and raining here in Redmond. Perfect weather for writing a blog entry.

    Workflow Development Resources Interactive Map

    Andrew May is a content publishing manager for WSS developer content. He is very passionate about Workflow and this week he created a new workflow development resources interactive map using mind maps. Andrew created this interactive map as another way of presenting some of the information we currently have on the MSDN Workflow Resource Center. If you are currently creating workflow solutions or are interested in learning about workflow resources, this map a great resource for getting started. It's also a very innovative way to explore learning resources located in different Web sites.

     MSDN Office Developer Center – Join us on Facebook

    New group for Office and SharePoint development enthusiasts on Facebook!

    The MSDN Office Developer Center provides a roadmap to understand and work with Office System programs, servers, services, tools and technologies. Some of our core products and technologies include Access, Communications Server, Excel, Groove, InfoPath, Office Business Applications, Office Fluent UI, Office Live Small Business, Open XML Format, Outlook, PerformancePoint Server, PowerPoint, Project and Project Server, SharePoint Designer, SharePoint Server, Unified Communications, Visio, and Word.

    You should join this group if you are interested in talking to the group of Microsoftees that create and release Office and SharePoint developer documentation.

    Published this week

    We published a lot of content this week, so for those of you twittering #Office and #SharePoint links like me, here's lots of fresh links to share:

    Happy Friday!

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    How to Export Data to Excel from an ASP.NET Application + Avoid the File Format Differ Prompt


    This is a common task for ASP.NET developers. You have a Web application where you expose data from a database, Web service, or third-party API and you need an "Export to Excel" button. I have used different approaches to export to Excel from a Web application. Here's some options and guidance of when to use each one.

    1. Generate a CSV file: If you open a CSV file in Excel, you can see a table with data. You can use this approach if you don't need control over formatting, styles, or workbook structure. I have used this approach when I pull data from a data source and I don't need to render it on the browser. For example, you are working on a stock options solution and you connect to a Web service that pulls stock market prices. Your users don't want to see detailed stock information on a browser and prefer that you generate and Excel file where they can pivot stock prices.
    2. Generate an XML file: (with or without an XSLT, depending if you want to control the schema). Have you opened an XML file in Excel? This is pretty cool. Excel allows you to open XML files with our without a schema. You can also see a table of data in Excel and can have some control on formatting if you use a schema. I have used this approach when I have a data source that is already in XML format.
    3. Generate from GridView: I like this one a lot and I think it's a common practice between ASP.NET developers. Some page forms in ASP.NET Web applications display data in data controls. The GridView is a popular control that displays data in a table format. You can use it to bind to data source controls, such as SqlDataSource. You can export to Excel from a GridView using a StringWriter and an HtmlTextWriter. You can use this approach if you already have a page with a GridView. You already did a round-trip to get the data from any given source, so why do it twice? The issue is that you have little control over formatting, style, or workbook structure.
    4. Generate an Excel file using the Open XML SDK 2.0: If you use this approach you gain absolute control of the spreadsheet format and content. For example, you can generate a worksheet with a table and another one with a chart based on the same data source. You can have control over formats, styles, content, and document structure. Zeyad has a great post where he provides a detailed sample for this approach: Document Assembly Solution for SpreadsheetML.

    Note: I can't stop to mention the big no-no… using the Excel PIA to generate a spreadsheet server-side. This is not a good practice and it's not recommended or supported, so let's forget about this one.

    Now, for those of you who are working with any of the first three approaches, you may have seen the prompt of file format differ each time you export to Excel.

    You get this message because you are opening a file in Microsoft Office Excel 2007 that contains content that does not match the files extension.

    I am not very annoyed about this, but I know some people are. By default, a user can decide whether to open the file when the warning message is displayed, but you can control user-notification either:

    1. Updating the registry if you need to control the user-notification on a few PCs.
    2. Using a Group Policy Setting if you need to control the user-notification on lots of PCs.

    Here's a KB article that provides detailed steps for both options: When you open a file in Excel 2007, you receive a warning that the file format differs from the format that the file name extension specifies.

    Here's a quick code sample in C# for approach 3 (Export from GridView) that you can use to export to Excel. I changed my registry following the steps explained in the previous article and it worked like a charm. No prompt! 

    <%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" %>

    <%@ Import Namespace="System.IO" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
    <html xmlns="">
    <head id="Head1" runat="server">
    <title>Export to Excel - GridView Sample</title>

    <script language="C#" runat="server">
    // Get files from selected path    
    private void BindFiles() {
            DirectoryInfo di 
    = new DirectoryInfo(tbPath.Text);
    gvFiles.DataSource di.GetFiles();

    protected void btnExportToExcel_Click(object sender, EventArgs e) {
    //Export to Excel from a GridView
    protected void ExportToExcel() {
    Response.Buffer = true;
    Response.ContentType "application/";
    Response.Charset "";
    .EnableViewState = false;

    System.IO.StringWriter sw = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);



    protected void Page_Load(object sender, EventArgs e) {

    public override void VerifyRenderingInServerForm(Control control) {


    <form id="form1" runat="server">
                My Files
    <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 12%">
    <asp:TextBox ID="tbPath" runat="server" Width="600px" Text="C:/"></asp:TextBox>
    <asp:Button ID="btnExportToExcel" runat="server" Text="ExportToExcel" 
    ="btnExportToExcel_Click" />
    <asp:GridView ID="gvFiles" runat="server">
    <br />

    Happy Friday!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Links for January 23th 2009: Office 14 for the Web, Outlook MAPI, and more cool Office blogs


    I came across some interesting blog posts this week and here's a few links that I'd like to share with you.

    Office 14 for the Web

    Learning about Office 14 is one of the most exciting things I've been doing since I came back. I am dying to talk about so many of the great new features for developers in Office 14. Can't say much now (hopefully soon I will), but I came across a public announcement from PDC: Office 14 on the Web. In case you missed it (like me), Microsoft announced at PDC that the new release of Office will deliver Office Web applications - lightweight versions of Word, Excel, PowerPoint and OneNote - through a browser. With these new applications, people can use a browser to create, edit, and collaborate on Office documents. What's great is that this provides a consistent Office experience when and where our customers want it, regardless of whether they are accessing their Office documents through the PC, phone, or browser.

    Want to see how it works? Here's a cool Channel 9 demo where you can watch it in action.

    Outlook MAPI

    Angela Chu-Hatoun has written most of the Outlook dev documentation you see on MSDN, so she is a super Outlook expert. Some years ago we used to share an office. Now we have our own offices, but sometimes we hang out and chat. As good geeks we are, we talk about technology and Outlook stuff and this week we were talking about the latest release of the Outlook MAPI. The MAPI for Outlook 2007 provides a set of classes, interfaces, functions, and other data types to facilitate the development of Outlook 2007 messaging applications. Angela worked for the last few months on an update and she blogged this week about the latest release.

    More Office blogs

    Happy Friday

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Top Office 2007 & SharePoint Articles, Downloads, Visual How-tos, and Portal Pages


    I've spent the last few days pulling 2008 metrics for Office & SharePoint developer content. It's quite interesting to see what flavor of chocolates devs pick at the candy store.

    The Office System is an umbrella of products and technologies. Popular picks from the Office dev community include SharePoint, Open XML, WSS, the Fluent UI, Excel, Access, and Word technical documentation.

    Here's to the very best of Office & SharePoint developer content and kudos to all the authors who contribute to our publishing queue! Now the list of the very best candies…

    Top Office & SharePoint MSDN Articles

    1. Introducing the Office (2007) Open XML File Formats
    2. Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 (Part 1 of 2)
    3. Improving Performance in Excel 2007
    4. Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3)
    5. Developer Introduction to Workflows for Windows SharePoint Services 3.0 and SharePoint Server 2007
    6. Deploying Access 2007 Runtime-Based Solutions
    7. Introduction to SharePoint Products and Technologies for the Professional .NET Developer
    8. Forms Authentication in SharePoint Products and Technologies (Part 1): Introduction
    9. Deploying Visual Studio 2005 Tools for the Office System SE Solutions Using Windows Installer (Part 1 of 2)
    10. Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 (Part 2 of 2)

    Top Office & SharePoint Downloads

    1. Access 2007 Runtime
    2. Microsoft Office SharePoint Server 2007 SDK
    3. Windows SharePoint Services SDK
    4. Access 2007 Developer Extensions
    5. Open XML SDK 1.0
    6. Updates for Microsoft Office Excel 2007 Help
    7. Updates for Microsoft Office Outlook 2007 Help
    8. Visio 2007 SDK
    9. Developer Map for the 2007 Microsoft Office System
    10. Updates for Microsoft Office Word 2007 Developer Help

    Top Office & SharePoint VHTs – Code samples + articles + videos

    1. Adding Code-Behind Files to Master Pages and Page Layouts in SharePoint Server 2007
    2. Creating an Application Page in Windows SharePoint Services 3.0
    3. Saving Word 2007 Documents to PDF and XPS Formats
    4. Office Open XML Formats: Retrieving Excel 2007 Cell Values
    5. Customizing SharePoint List Views with SharePoint Designer 2007
    6. Adding User Information from Active Directory Domain Services to InfoPath 2007 Forms
    7. Adding Programs to Access 2007 Deployment Packages
    8. Deploying ASP.NET Web Applications in the Windows SharePoint Services 3.0 _layouts Folder
    9. Displaying Custom Fields in Content Query Web Parts in Office SharePoint Server 2007
    10. Building Word 2007 Document Templates Using Content Controls

    Top MOSS & WSS VHTs – Code samples + articles + videos

    1. Adding Code-Behind Files to Master Pages and Page Layouts in SharePoint Server 2007
    2. Creating an Application Page in Windows SharePoint Services 3.0
    3. Deploying ASP.NET Web Applications in the Windows SharePoint Services 3.0 _layouts Folder
    4. Displaying Custom Fields in Content Query Web Parts in Office SharePoint Server 2007
    5. Creating Business Data Catalog Entities in SharePoint Server 2007
    6. Designing InfoPath Forms for Workflows in SharePoint Server 2007
    7. Creating a Custom Search Page and Tabs in the Search Center of SharePoint Server
    8. Displaying Data by Using the SPGridView Control in Windows SharePoint Services 3.0
    9. Creating and Exposing Search Scopes in SharePoint Server 2007 Enterprise Search
    10. Building Custom Field Types in Windows SharePoint Services 3.0

    Top Office & SharePoint Dev Center Pages

    1. Office Developer Center
    2. Windows SharePoint Services Developer Center
    3. Downloads for Office Developers
    4. Access Developer Portal
    5. SharePoint Server
    6. Office Development with Visual Studio
    7. Office SDK Documentation and Developer References
    8. Excel Developer Portal
    9. Learn Office
    10. Office Business Applications

    Top Office & SharePoint Dev Center Portals

    2. Access
    3. SharePoint Server
    4. Office Development with Visual Studio
    5. Windows SharePoint Services
    6. How Do I
    7. Excel
    8. SDKs
    9. FrontPage
    10. InfoPath

    The best news ever!

    I'll end my Office candies blog post with a great dessert. Have you seen Soma's latest blog post? Office client developer enhancements with VS 2010.

    As an Office dev I have to say that the three key improvements that Soma announced will definitely make Office.NET development even easier.

    1. PIA-less Interoperability
    2. Publish to SharePoint
    3. Customize the Deployment Package

    Hopefully we'll have some dev content in the future that shows how to get the best out of these features.

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Great News for Open XML Developers: ECMA-376 Implementation Notes for Office 2007 SP2 are here!


    We've published today a new set of Open XML implementation notes. The ECMA-376 Implementation Notes helps developers to understand low-level details of the Open XML implementation. The notes also include information that will help ISO update the standard over time, and some other general information to cover some scenarios that are not covered in detail by the SPEC.

    The notes are definitely a great resource for all us who work with the Open XML SDK 1.0 and 2.0 and are looking for detailed documentation and guidance. I know lots of devs out there are creating document assembly solutions and the notes help you understand fine details of the implementation. Say you are working with WordprocessingML and want to learn about paragraphs, tables, footers, document parts, or mail merge. If you don't know the SPEC by heart (like most of us J), and want to learn more about the implementation details, you can always check out the implementation notes.

    Great blogs posts you should not miss:

    1. If you want to learn more details about the release, I recommend that you check out Doug's latest post. Doug's posts are very detailed and super informative. His latest post explains in detail how to drill down to see different sections of the SPEC.
    2. I am very excited to see that Stephen Peront has started to blog! I've been begging him to blog for years and I am delighted to see he is blogging now! This blog is a must see for Office developers and you should not miss his post about the implementation notes.
    3. Stephanie Krieger, one of the most talented Office MVPs and expert in Open XML, has also blogged about the notes.

    You can also subscribe to the Microsoft Interoperability RSS feed, where you can find 3rd party and Microsoft bloggers sharing the latest news about interoperability.

    Happy Friday!

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Links for January 9th 2009: LINQ for Office Developers, Office and Open XML Poster Downloads


    Here is a list on links that I want to share with you.

    LINQ for Office Developers

    Some Office solutions require that you work with XML. Open XML documents, SharePoint, and InfoPath are great samples. LINQ to XML is an in-memory XML programming interface that enables you to modify XML documents efficiently and easily. One of the great advantages of using LINQ to XML is that it greatly simplifies the task of processing XML documents. Making Office development even easier.

    If you are new to LINQ to XML, you can explore the .NET Language-Integrated Query for XML Data MSDN article by Michael Champion. You can also find tons of resources at the LINQ Project resource center on MSDN.

    Definitely the best of blogs for Office + LINQ is Eric White's blog. Eric has posted multiple blog entries about Office and LINQ. My favorite post is: Using LINQ to Query Excel Tables. Eric is working on a new series of posts about SharePoint and LINQ. His two latest posts include:

    Office and Open XML Poster Downloads

    While I was out of office, the Office Developer Documentation Group published an online version of the latest versions of the posters:


    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    Suggest a Topic/Code Sample for Future Office Visual How-tos


    While reviewing traffic to some of our MSDN content, I noticed that the Office Visual How-tos we've published on the MSDN Library are getting lots of page views!

    Developers seem to like this content type since it provides a short article, code sample, and video. This content type provides quick demos that show you how to work with specific features provided by different Office products and technologies.

    We've covered a broad set of topics, such as Open XML, SharePoint, WSS, Word, Outlook, Access, InfoPath, and VSTO.

    Here's a list of the most recently published Office Visual How-tos:

    Visual How To: Creating SharePoint Sequential Workflows with Visual Studio 2008

    Visual How To: Creating Workflows to Transfer Records Upon Expiration in SharePoint Server 2007

    Visual How To: Preventing Document Modification in Windows SharePoint Services 3.0

    Visual How To: Preventing Record Modification but Allowing Metadata Modification by Overriding the Upload Page in Windows SharePoint Services 3.0

    Visual How To: Building State Machine Document Approval Workflows for SharePoint Server 2007 Using Visual Studio 2008

    Visual How To: Creating a Custom Approval Workflow for SharePoint Server 2007 Using SharePoint Designer 2007

    Visual How To: Configuring and Deploying Workflows to SharePoint Server 2007 Using Solution Packages

    Visual How To: Creating Custom Workflow Activities for SharePoint Server 2007 Using Visual Studio 2008

    Visual How To: Building an Expense Report Approval Workflow for SharePoint Server 2007 Using Visual Studio 2008

    Visual How To: Updating Document Information Panels for Content Type Changes in SharePoint Server 2007

    Here's a list of some of the most popular topics:

    You can visit the Office Developer How To Center for a complete list of Office Visual How-tos.

    Here's the how-to video RSS feed:

    Planning for the next round of Office Visual How-tos


    We have identified some Office 2007 content gaps and missing code samples and we will start building a new set of Office Visual How-tos. One of the things we've been asked is to provide the code of these articles as code sample downloads. We plan to start publishing the code sample downloads to the MSDN Code Gallery. Also, we are exploring the option of publishing the most popular videos in Zune format.

    Please leave a comment with your suggestion of any Office, SharePoint, and VSTO topics/code samples that we should provide in the future. I'll keep an eye on this blog entry.

    Bookmark and Share
  • Erika Ehrli - Adventures with Office Products & Technologies

    I’m back!


    Sofia came five months ago and I can honestly say that so far she has been the best part of my life.

    Spend a few months with a kid and you'll get to know a new side of you that you never imagined you had. It's like starting to live all over again. Even the simplest smile or sound coming out of your little one can make you go wild. Anyway, as many other lucky working moms, I get to enjoy the beauty of motherhood and the fun of a happy job to get back to.

    One of the things I missed the most was blogging. I am quite eager to share with you some stats about Office developer content, Office 14 news, Open XML code samples, best of Office 2008 blog posts, and more.

    Today is my first day at work after a long break and I am trying to catch-up with lots of stuff. I've spent a couple hours reviewing stats from our publishing system. While I was gone, the Office Developer Documentation Group published an astonishing amount of 199 content items. That is, a mix of technical articles, downloads, SDKs, book excerpts, and code samples. Kelly Bowen-McCombs, our MSDN Office Developer Center managing editor, blogged about some of the content published in the last few months. In case you missed her entries, you can find them here:

    I am quite grateful that Kelly posted about Office Developer documentation news while I was out. I hope you enjoyed her blog posts.

    In case you want to catch-up (like me) with all the Office developer content we published in the last few months, I recommend that you check back often our MSDN - Office Developer Center. I also recommend you to subscribe to our Office Developer RSS feeds. We have a few that you may find interesting:

    RSS feeds we publish:

    Other Office developer related RSS feeds:

    I'd also like to use this blog post to thank everyone who has contacted me through my blog and sent me questions related to Office development. I will be answering as many questions as I can in the next couple of weeks. Thanks all for keeping up with my blog and expect to hear a lot from me this year J.

    Happy 2009 to everyone!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Presents for Outlook Developers...


    New Reference Documentation 

    The big news is an offering for COM developers: the long-awaited Outlook 2007 Messaging API went live today. This is an update to the old Messaging API last published several years ago. Outlook 2007 Messaging API (MAPI) Reference describes how to create Outlook 2007 items by using MAPI that is based on the Component Object Model (COM) rather than the Outlook object model.

    And hopefully you noticed this...

    Install Updates for Outlook 2007 Help
    This download installs the latest assistance content for the Outlook 2007 Developer Help file and the Outlook 2007 Help file. It contains the latest revisions and additions to content in those files. 

    Recent Articles 

    We also published the following new articles:

    New Book 

    Oh yes, and there is a new book available from Microsoft Press you may want to consider. Get the comprehensive reference for extending Outlook 2007: Programming Applications for Microsoft Office Outlook 2007.

    Top Videos

    In case you missed these when they were originally published, you also may want to check out:

    And some other interesting news: For those not in love with my chatty comments, Erika should be returning to her blog next month.




  • Erika Ehrli - Adventures with Office Products & Technologies

    What's New in Office for October?


    Time's been passing. Meanwhile, we have a slug (bucketful? melange) of interesting new content out there.

    For Office client developers, we have a couple of important updates. One is to Andrew Whitechapel's popular article: Isolating Microsoft Office Extensions with the COM Shim Wizard Version By customer request, we also republished a popular article that was inadvertently dropped in some recent shenanigans: Improving Web Site Usability and Appeal. The latest OfficeTalk column, by guest columnist and MVP Ron de Bruin shows Filtering by the Active Cell's Value, Font Color, or Fill Color in Excel 2007.

    Open XML is a hot topic. We did publish MVP Stephanie Krieger's article: Creating Document Themes Using the Office Open XML Formats. Frank Rice also describes how to create a simple search and replace utility for Word 2007 Open XML Format Documents.

    I think one of the coolest new things is the AddinSpy tool, posted to Code Gallery (also by Andrew Whitechapel). Using the AddinSpy, you can discover all registered Microsoft Office add-ins on a computer. Read more here (and download the tool):

    Performance optimization is always top on the minds of server admins. Here are some tips for all you Groove fans: Optimizing Groove Forms Tool Performance

    We also posted updates to the following doc sets:

    ·         PerformancePoint 2007 Monitoring Server SDK Documentation

    ·         Microsoft Office Live Small Business Developer Guide

    More information on SharePoint Products and Technologies continues to be in demand. Workflows is the feature this month with another article on workflows: Developing SharePoint Server 2007 Sequential and State Machine Workflows with Visual Studio 2008

    I love the title of this article: Capitalizing On the Social Network Capabilities of SharePoint Server 2007 User Profiles. It just makes me want to read it.

    A lot of people are big fans of "prescriptive guidance." I remember working on the first "prescriptive architecture guide" for SharePoint about five years ago. Setting up your CMS is particularly challenging, judging from some of the SharePoint discussion threads I see. Check this out for some help: Prescriptive Guidance for SharePoint Server 2007 Web Content Management Sites.

    Continuing on the "prescriptive guidance" theme, we have the first article in what will be part of the Team Foundation Server Resource Center. This new resource center is rather exciting. It's goal is to provide the growing development community surrounding Office SharePoint Server 2007 and Windows SharePoint Services 3.0 custom applications with a prescriptive set of guidance about how to conduct SharePoint application development. Check back with the Resource Center regularly for the latest in the series.

    Lastly, we have another article on search: Performing Incremental Crawling with the Business Data Catalog in SharePoint Server 2007. Incremental crawling is much less time-consuming than performing a full crawl so implementing it across your BDC would be a great way to immediately improve your search results.

    Here are some great upcoming offerings including:

    ·         Configuring and Deploying Anonymous SharePoint Publishing Sites

    ·         Walkthrough: Master Page Page Layout in Windows SharePoint Services 3.0

    ·         Configuring Security in Windows SharePoint Services 3.0

    ·         Domain Isolation for Folder Home Page Customization in Outlook 2007

    ·         Inserting Repeating Data Items into a Table in a Word 2007 Document


  • Erika Ehrli - Adventures with Office Products & Technologies

    Getting Back in the Publishing Groove


    It's great to get back into the publishing groove. Most of us over here, in "Office and SharePoint land" have been working for months to also publish Interoperability content to go along our traditional developer offering. You can access that content on MSDN Online, at So now, we’re back to a full complement of technical articles, book excerpts, and API references. We have quite a mixed bag of content to present this week.

    For Office client developers, we have quite a diverse set.This first one will be of interest to folks who are considering how they can integrate or migrate their existing (legacy) Access solutions with Access 2007: Developing Access 2007 Solutions with Native C or C++.  This article provides a good overview of the options for choosing the most optimal native data access API .

     And then, there are those who like to play with Excel. My father is a CEO for the Las Olas company in South Florida.  He occasionally sends me these monster spreadsheets full of data liberally scattered with formulas (usually so I can troubleshoot it for him). I think his IT guy would appreciate this next pair of articles:

    • Merging Data from Multiple Workbooks into a Summary Workbook in Excel: Microsoft Office Excel MVP Ron de Bruin provides a number of samples and a handy add-in to merge data from multiple workbooks located in one folder into a summary workbook. When you use workbooks that contain multiple worksheets, a common task is to roll up or consolidate the data in each worksheet into a summary worksheet. The samples described in this article add a worksheet to the active workbook and then copy a range of cells from every worksheet to the summary worksheet. The different procedures demonstrate techniques for copying varying size ranges as well as placing the data at specific locations in the summary sheet. 
    • Consolidate Data from Multiple Worksheets into a Summary Worksheet in Excel 2007: Microsoft Office Excel MVP Ron de Bruin provides a number of samples to merge data from multiple worksheets into one summary worksheet. After you have all the data on one worksheet, you can do things such as build a PivotTable report based on your specific criteria or use the filter options in Excel 2007 to get the results you want.

    We also have an another SharePoint article, this one about developing workflows, a hot topic for those of us in content publishing: Developing Sequential Workflows for SharePoint Server 2007 Using Visual Studio 2008 by Joel Krist. We have some more workflow content coming out over the next month or so, a visual how-to as well as some other content, so check back if this is something you are hot to know more about. 

    Continuing in the SharePoint theme, we published two book excerpts from Microsoft Office SharePoint Server MVP Andrew Connell's excellent "Professional SharePoint 2007 Web Content Management Development: Building Publishing Sites with Office SharePoint Server 2007". Chatper 14: Authoring Experience Extensibility and Chapter 20: Incorporating ASP.NET 2.0 Applications. You can get the book in its entirity from Wrox

    We published a book chapter for Excel geeks as well, Building Custom Solutions from Beginning Excel Services. You can get the book in its entirity from Wrox

    On the lighter side - for our holiday gift this year, our group all got 80 GB Zunes from Microsoft. This has done a lot for sucking many of us into the wonders of MP3 players. When I brought mine home, my husband promptly ripped all 653 albums we owned. We hooked it up to our stereo receiver and did away with our cassette player, our VCR, and our DVD player. I've inherited the daunting task of keeping our genre categories clean and editing/creating playlists. Apparently Frank Rice, a teammate of mine, found an excuse to play with his Zune during work hours by writing a couple of columns about using Excel to manage his Zune playlists:

    Coming up in the next few weeks we have content by Microsoft Office MVP Stephanie Krieger (Using Document Themes with Office Open XML Formats) and a three-part article series by Stephen Peront about Building Server-Side Slide Decks Using Open XML.



  • Erika Ehrli - Adventures with Office Products & Technologies

    The Mysteries of Search Crawlers and Finding Stuff on the Intranet


    As the managing editor for the Office Developer Center, I spend a lot of time trying to determine effective search optimization strategies to help our content get discovered by search crawlers or robots. My focus is generally on the big Internet search engines, but I know that this can be even more critical in an enterprise environment where you want the vast knowledge stored "somewhere" to be available in under five minutes of searching. Nothing is more irritating than resorting to the native search on your local intranet, knowing the content you need is there (you saw it three months ago...where was it???)....and having it not show up in the results. So I take search personally. As a result, I'm glad to highlight two pieces of content that will help all you enterprise search folks create more relevant, custom search scopes for people in the enterprise like, well, me.

    The SharePoint folks just published some content that I think will be of interest to those who want to delve into the mysterious world of enterprise search crawler. First up is an article by the prolific, Joel Krist from Akona, called Creating an Enterprise Search Crawl Log Viewer for SharePoint Server 2007. In this article, Joel discusses using the UI to view crawl details, including error messages. Then, he demonstrates how to access the same data programmatically. A code sample accompanies this article, which you can also download. The other article to talk about, also by Joel, is how to use Enterprise Search Property Filters in SharePoint Server 2007. This article talks about how to create targeted search scopes to access some of that obscure data that lives out in the enterprise "wilds" through things like managed properties, including custom metadata in doc libraries, and modified queries.

    Enjoy - and please do add your comments to the articles. Your feedback helps us determine what other content we should present.



  • Page 2 of 8 (188 items) 12345»