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

    Getting the best out of bookmarks in Microsoft Word

    • 3 Comments

    Suppose you have a .NET application that needs to open a Word document and insert data from a database or from an XML file. To provide this functionality, Microsoft Word documents contain bookmarks, a set of "placeholders" that allow you to insert text at design time and runtime. I want to share with you some guidelines that I use to work with bookmarks:

    To go to a particular location and insert text, you can create your own bookmarks using the Boomark object. You can also take advantage of the set of prefedined bookmarks to go to a particular location in a document. For example, to insert text at the end of a document, you can do something like:

    private object _endOfDoc "\\endofdoc";
    Word.Range _rng doc.Bookmarks.get_Item(ref _endOfDoc).Range;
    _rng.Text "Bookmark demo";

    There are times when you have a huge document and you get lost with all the bookmarks that you might have, or like me, you create some bookmarks and forget or mispell the names you defined for the bookmarks (doh!) while coding. You can use the following snippet of code to get a list of all the bookmarks that you have in your document:

    public void ListBookmarks()
    {
        StringWriter sw 
    = new StringWriter();

        foreach 
    (Word.Bookmark bookmark in Word.Application.ActiveDocument.Bookmarks)
        {
            sw.WriteLine(
    "Name: {0}, Contents: {1}", bookmark.Name, bookmark.Range.Text);
        
    }
        MessageBox.Show(sw.ToString(), 
    "Bookmarks and Contents");
    }

    You should also explore the "Bookmark View Controls" provided by Visual Studio Tools for Office v2.0. Take a look at this cool video created by Paul Stub and learn more about bookmarks.

    Happy bookmark programming!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Office "12" supports "Save As PDF"

    • 5 Comments

    I didn't know about that, but Office Online receives over 120,000 queries per month requesting the ability to "save as PDF" in Office! Microsoft has LISTENED to customers and has an answer for a common need. Steven Sinofsky announced this weekend at the MVP Summit another great feature provided by Office "12:"

    "Office Word, Excel, PowerPoint, Access, InfoPath, Publisher, Visio, Project, and OneNote – will provide the capability to save documents in the PDF format, which will include a fixed layout representation of the document. PDF documents created by Office “12” may contain live hyperlinks, cross-document links and bookmarks and will support accessibility. PDF documents produced from Microsoft Office Publisher “12” will also include additional support for pre-press specific functionality such as CMYK color models and printing page marks. The PDF format has been developed by Adobe and the specifications are available for developers like Microsoft to use."

    I know that lots of customers and developers worldwide will be more than excited about this. Lots of Microsoft Consulting Services customers required to integrate "save as PDF" functionality to their solutions; I would love to be back with them and tell them: You can!

    Today, a big set of managed applications generate Word documents, and Excel spreadsheets, and now, without using third-party PDF libraries, you will be able to change some lines of code to save the files using PDF format. Even outside managed applications, you can now save your legal contracts, requests for proposals, work orders, finance budgets and more!

    The best part is that Office "12" still has more surprises to announce, so keep close to Office Developer Center and be the first to know the future of Microsoft Office.

  • Erika Ehrli - Adventures with Office Products & Technologies

    How to add massive "find and replace text" functionality to your MCMS 2002 site

    • 8 Comments

    I was talking to a customer last week at PDC and we were discussing about the possibilities offered by Microsoft Content Management Server 2002 (MCMS 2002). Powered by Microsoft .NET–connected technology, MCMS 2002 enables companies to quickly and efficiently build, deploy, and maintain mission critical content-rich Web sites.

    MCMS 2002 provides a managed object model that allows you to extend the functionality that ships with the product and manage content programmatically. You can create custom navigation controls, placeholder controls, and more. A common need for site managers is to find and replace text of a given set of web pages. Imagine that after a while of creating postings (web pages) inside your MCMS 2002 site, you suddenly realize that you need to replace the text "foo" with the text "bar." Now imagine that you have more than 10,000 postings! MCMS 2002 does not provide built-in functionality to find and replace text because there are multiple combinations of channels, postings, and different kinds of placeholders where you might need to find and replace text. However, you can add this functionality to your site thanks the managed object model that ships with MCMS 2002.

    Suppose that given a root channel, you need to find and replace text inside all the HTMLPlaceholders of all postings and the same for each subchannel inside the root channel. The following source code provides a way to implement the functionality that I explained:

    1. Declare the following namespaces and add the corresponding references to your project.
      using System.Security.Principal;
      using 
      System.Threading;
      using 
      Microsoft.ContentManagement.Publishing;
      using 
      Microsoft.ContentManagement.Common;
      using 
      Microsoft.ContentManagement.Publishing.Extensions.Placeholders;
    2. Create a method that searches for text in all the postings and subchannels of a given channel.
      public string FindAndReplaceText(string channel, string findtext, string replacetext) {
          
          
      // Create CmsApplicationContext and authenticate 
          
      CmsApplicationContext context = new CmsApplicationContext();
          
      WindowsIdentity ident (WindowsIdentity)Thread.CurrentPrincipal.Identity;
          
      context.AuthenticateUsingUserHandle(ident.Token, PublishingMode.Update)
          
          
      // Define root channel based on context
          
      Channel root = null;
          
      root (Channel) context.Searches.GetByPath(channel);

          
      // Search for findtext in all the channel's postings
          
      foreach(Posting ps in root.Postings){
              
      if (ps.State == "Published"){
                  
      foreach(Placeholder pl in ps.Placeholders){
                      SearchText(pl, ps, findtext, replacetext)
      ;
                  
      }
              }                    
          }
          
          
      // Search for findtext in all the channel's subchannels
          
      if (root.Channels.Count>0){
              
      foreach(Channel ch in root.Channels){
                  
      foreach(Posting ps in ch.Postings){
                      
      if (ps.State == "Published"){
                          
      foreach(Placeholder pl in ps.Placeholders){
                              SearchText(pl, ps, findtext, replacetext)
      ;
                          
      }
                      }        
                  }
              }
          }
      }
    3. Create a method that searches for text inside all the HtmlPlaceholders of a given posting
      public void SearchText(Placeholder pl, Posting ps, string findtext, string replacetext) {
          
      if (pl.GetType().ToString() == "Microsoft.ContentManagement.Publishing.Extensions.Placeholders.HtmlPlaceholder"){
              HtmlPlaceholder ph
      ;
              
      ph (HtmlPlaceholder)pl;
              if 
      (ph != null) {
                  
      int ptr ph.Text.IndexOf(findtext);
                  if 
      (ptr !-1){
                      
      string content ph.Datasource.RawContent;
                      
      ph.Datasource.RawContent content.Replace(findtext,replacetext);
                      
      ph.Posting.Approve();
                      
      context.CommitAll();
                  
      }
              }
          }
      }

    So as you can see, you can play around with the MCMS 2002 managed object model and create cool enhancements for your Web sites.

  • Erika Ehrli - Adventures with Office Products & Technologies

    Office & SharePoint PDC slides

    • 4 Comments

    I am back at Redmond and before I continue with my after-trip duties, I want to share with you the Office & SharePoint PDC slides:

    OFF201 ''Office 12'': Introduction to the Programmable Customization Model for the "Office 12" User Experience (Part 1)
    OFF302 ''Office 12'': Developing with the Programmable Customization Model for the "Office 12" User Experience (Part 2)
    OFF303 Groove: Building Enterprise Workgroup Applications
    OFF304 Assembling, Repurposing and Manipulating Document Content Using the New Office File Format
    OFF306 "InfoPath 12": Creating Browser-Based Forms for Enabling Data and Application Integration
    OFF307 "Access 12": Developing Collaboration Solutions with "Access 12" and Windows SharePoint Services "v3"
    OFF308 Windows SharePoint Services 'v3': Creating and Defining Custom Templates, Sites, Features, and Solutions
    OFF310 Windows SharePoint Services: Developing Collaboration and Tracking Applications
    OFF311 ''Project Server 12'': Developing Project Management Solutions
    OFF312 "Outlook 12": Developing Solutions Using the Consolidated Outlook Object Model
    OFF313 Web Content Management Application Development and Engine Extensibility
    OFF314 Developing Enterprise Document Solutions Using Office Client and Server Technologies
    OFF316 Word “12”: Integrating Business Data into Documents using XML-based Data/View Separation and Programmability
    OFF318 Developing Document Archiving, Records Management, and Policy Enforcement Extensions to the Microsoft Office System
    OFF319 ''InfoPath 12'': Developing Forms for the Smart Client and the Browser
    OFF320 Developing with Microsoft Office System Search Technology
    OFF321 Surfacing Your Application's Line-of-Business Data and Actions within Enterprise Portals
    OFF322 Building a Solution Using a Spreadsheet in Server-Based Scenarios
    OFF323 Building Business Intelligence Solutions Using "Excel 12" and SQL Server 2005 Analysis Services
    OFF324 “Visio 12”: Building Data Visualization Solutions
    OFF325 Microsoft CRM: Extending and Customizing Microsoft CRM Solutions
    OFF405 Windows SharePoint Services: Using ASP.NET 2.0 Technology to Extend Pages, Sites, and Server Farms
    OFF409 Windows SharePoint Services: Advancements in Document, Content, and Data Storage
    OFF415 Windows SharePoint Services: Developing Custom Workflows
    OFF417 Visual Studio Tools for Office 'v3': Creating Office Application Customizations

    Have a peek and enjoy!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Office & SharePoint at PDC (15-Sep-05)

    • 0 Comments

    Do I have stuff to talk about today! The track lounge became quite popular today after more cool things about Office "12" and SharePoint "v3" were presented through the sessions.  The Office team is quite enthusiastic and I can honestly say that they have a great passion for customers and worked extra shifts to answer more questions. Here are some pictures of the Office & SharePoint Track Lounge while the day started:


     

    I could write for hours about the sessions and discussions related to Office "12" and SharePoint here at PDC. However, I will keep it simple and write about some of the key enhancements that were presented in some sessions and discussions throughout the day:

    1. Rob Lefferts delivered a great session about developing enterprise document solutions using Office client and server technologies. He got into the details of how Windows SharePoint Services "v3" can be used to create workflows to control document management, a common scenario and need for different organizations. I talked to a person at the lounge who can't wait to get his hands into the beta because he needs to replicate this scenario. No matter what kind of industry you work for: government, legal, finance, industry, and so on; all organizations manage documents and NEED organized information systems that help to classify, archive, manage, control, search, and even approve/disapprove content through business oriented workflows.
    2. Andrew Whitechapel delivered another great session about Visual Studio Tools for Office "v3". He presented a great solution to avoid AddIn blacklisting: the AddInLoader, a component (shim) that makes Office aware of managed code AddIns and improves the security model using Code Access Security (CAS), provides runtime isolation (each AddIn loads inside its own AppDomain), and presents a dialog that provides friendly and clear information if an AddIn fails to load. All these enhancements simplify the life of developers that create AddIns for Office and that struggle to work with AddIns when and AddIn fails. Andrew made an awesome demo on how to generate (with few lines of code) custom task panes inside Office client applications. Developers were more that pleased to see how a common business scenario will be solved so easily thanks to the practical ideas of the VSTO team.
    3. Ned Friend delivered a great InfoPath session where he talked about developing InfoPath "12" Forms for the smart client and the browser. I could not attend to this one because I was doing Track Lounge duty, but I saw the InfoPath team at the lounge after the presentation and they all had huge smiles (a great sign) and a lot of attendees were desperate looking for the InfoPath experts. There are MANY business scenarios where you need to run InfoPath forms from a web-based application, so having this option solves a great need. 

    Before I became a part of the Office User Assistance Team, I used to be an MCS Development Consultant, and I know that all these scenarios/challenges are common business needs for different organizations. I am glad to see that the Office and SharePoint team made a great effort to understand the current needs and pains that appear across organizations and is delivering a well-thought set of solutions through Office "12" and Windows SharePoint Services "v3" that help to solve common business problems easily and makes a simple kind of life for developers too! 

  • Erika Ehrli - Adventures with Office Products & Technologies

    First look to Microsoft Office "12" XML Schema Reference at the Office Developer Center

    • 1 Comments

    Microsoft continues to invest deeply in XML in Office. The new release of Microsoft Office "12" Word®, Microsoft Office "12" Excel®, and Microsoft Office "12" PowerPoint® includes a set of XML schemas that comply with the W3C specifications. The XML schemas allow you to understand an XML based definition of Word documents, Excel spreadsheets, and PowerPoint presentations as part of the new Open XML formats for Office "12."

    If you want to understand more of the internals of Microsoft Office "12" Word®, Microsoft Office "12" Excel®, and Microsoft Office "12" PowerPoint®, download the Office "12" XML Schema Reference - PDC 2005 Preview and take a deep dive into the XML schemas.

    Keep in mind that this is draft documentation and that some details of the schemas might change for the Beta release.

    Have a peek and enjoy!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Office & SharePoint at PDC (14-Sep-05)

    • 4 Comments

    I was dying to blog since I woke up this morning and finally I got a chance to sit down and share some Office "12" news with the community.

    The day started with Steven Sinfosky's Keynote, where he announced some of the coolest enhancements for Office "12" and Windows SharePoint Services "v3." Steven started his presentation by talking about how the Office System has evolved to a results-oriented developer platform that allows extensibility thanks to the integration to XML and Web Services, Visual Studio .NET and managed code, a results oriented user interface, and the XML File Formats. Steven concluded his keynote with some great demos for InfoPath, Access, SharePoint, Excel, and Outllook. I really enjoyed to experience the joy and surprise shown by the audience as Steven presented some of the new features added to Office "12."

    We also had eight sessions today that are related to Office "12' or Windows SharePoint Services "v3". In a nutshell, I can share with you some of the new enhancements that were announced today and yesterday at PDC and that are related to Office "12" and Windows SharePoint Services "v3":

    Introducing and extending the Ribbon User Interface

    Office "12" has a new look for client applications that replaces menus and toolbars with a Ribbon UI that organizes buttons, galleries, menus, and toolbars into tabs organized by categories. If you created special toolbars and CommandBars, the UI displays a special tab for your custom functionality. You can also extend the Ribbon UI by creating COM or managed Add-Ins or by using a text-based XML markup definition to create and customize the UI. The following picture shows a peek of the Ribbon UI:

     

    Open XML File Formats

    Office "12" provides a new XML based file format that allows interoperability and collaboration between other Microsoft Office System and third-party applications. The new XML file format replaces the previous Word, Excel, PowerPoint, Access, and Project file extensions to an open XML file format that is integrated with ZIP compressions to reduce the file size up to 75 percent. Office "12" client applications still allow you to save documents in the previous file format for backward compatibility. The files generated by Office "12" client applications are not only raw documents, now, you can use these files as a repository for data used by other applications.

     

    InfoPath Forms services

    InfoPath Forms services provide a Web browser form-filling experience for users that need to complete InfoPath forms from Web-based applications. This Web experience is built as a feature on top of the Microsoft Windows SharePoint Services "v3" platform. This feature is really cool because now you can add InfoPath forms to your ASP.NET applications.

     

    Excel services

    Some Web-based applications require to host Excel and interact with spreadsheets to explore and pivot on data, calculate and set values, or analyze PivotTable reports and charts using the browser. To obtain this functionality, Microsoft introduces Excel services. Excel spreadsheet services provide you with the ability to view and interact with spreadsheets in a browser. You can calculate, create snapshots, and extract values from the workbooks. You can also programmatically generate, manage, and distribute customized Excel spreadsheets by using Excel spreadsheet services. When I knew about this I almost cried! This one was a great need that lots of customers demanded and I am happy that we have something like this now and into the future.

     

    Access, InfoPath, Windows SharePoint Services, and Outlook integration and collaboration

    Believe it or not, you can create business workflows where you can define for example and InfoPath form that is filled inside Outlook, when sent back, a WorkFlow is updated inside Windows SharePoint Services, and the data stored inside Access. Today, writing and application that accomplishes this set of tasks is a bit complex and requires many lines of code. With Office "12" and Windows SharePoint Services "v3" ease of use, collaboration, and productivity have a real meaning.

     

    I close the day with a picture of the great Office "12" stairs at PDC: "Step Up to the Future" - Microsoft Office "12"

     

  • Erika Ehrli - Adventures with Office Products & Technologies

    Office & SharePoint at PDC (13-Sep-05)

    • 0 Comments

    So here we are at PDC 2005!

    Bill Gates and Chris Caposella (the VP for Information Worker Division at Microsoft), presented a preview of Windows Vista and Office "12."  The demo included a preview of the new ribbon user interface for Office "12" client applications and some of the productivity enhancements added to Excel "12", Word "12, and Windows SharePoint services "v3." Today, Jensen Harris and Andy Himberger will present a two-part session that provides guidance to extend and customize the Office "12" user interface, so keep connected to know more about the outcome of these sessions.

    If you are here at PDC, come to the Office & SharePoint Track Lounge, a place where you can come to ask questions to the experts and meet the speakers for Office & SharePoint sessions. The following table displays the schedule for the Office & SharePoint Track Lounge:

    September 13, 2005 Staffer(s)
    11:30 AM - 2:30 PM Art Leonard
    Chris McKulka
    Clay Satterfield
    Drew Lytle
    Justin Chandoo
    Manish Sharma
    Matt Pope
    Ned Friend
    Pravin Indurkar
    Randy Byrne
    Robert Doyle
    Savraj Dhanjal
    Shawn Villaron
    Tristan Davis
    2:30 PM - 5:30 PM Allan Folting
    Gerhard Schobbe
    Joshua Pollock
    Kamaljit Bath
    Kevin Boske
    Manish Sharma
    Mark Alexieff
    Michael Shneerson
    Mike Morton
    Paresh Suthar
    Ryan Gregg
    5:30 PM - 9:00 PM Allan Folting
    Art Leonard
    Danny Khen
    Drew Lytle
    Dustin Friesenhahn
    Eran Megiddo
    Eric Carter
    George Hatoun
    Ian Tien
    Joe Sherman
    Kamaljit Bath
    Matt Pope
    Mike Morton
    Ned Friend
    Robert Lefferts
    Tristan Davis
    September 14, 2005 Staffer(s)
    10:30 AM - 2:30 PM Art Leonard
    Brian Jones
    Clay Satterfield
    Eran Megiddo
    Erik Rucker
    Gerhard Schobbe
    Hugh Pyle
    Ian Tien
    Joshua Pollock
    Justin Chandoo
    Kevin Boske
    Ned Friend
    Russell Sasnett
    2:30 PM - 6:15 PM Cordell Jones
    Drew Lytle
    Eric Carter
    George Hatoun
    Jensen Harris
    Jonah Burke
    Kamaljit Bath
    Mark Alexieff
    Randy Byrne
    Rob Mauceri
    Robert Doyle
    Robert Lefferts
    Shawn Villaron
    Shoshanna Budzianowski
    Tristan Davis
    September 15, 2005 Staffer(s)
    9:30 AM - 12:30 PM Amir Netz
    Brian Jones
    Eric Carter
    Hugh Pyle
    Ian Tien
    Justin Chandoo
    Kamaljit Bath
    Mark Iverson
    Michael Shneerson
    Mike Ammerlaan
    Patrick Smith
    Phil Smail
    Shawn Villaron
    12:30 PM - 3:30 PM Art Leonard
    Dustin Friesenhahn
    Jensen Harris
    Matt Pope
    Pravin Indurkar
    Richard Mareno
    Robert Doyle
    Ryan Stocker
    Tristan Davis
    Tudor Toma
    3:30 PM - 6:30 PM Alex Malek
    Danny Khen
    George Hatoun
    Gerhard Schobbe
    Kevin Boske
    Mark Alexieff
    Mike Ammerlaan
    Phil Smail
    Ryan Gregg
    Shoshanna Budzianowski
    September 16, 2005 Staffer(s)
    8:30 AM - 11:30 AM Cordell Jones
    Dustin Friesenhahn
    George Hatoun
    Gerhard Schobbe
    Ian Tien
    Joe Sherman
    Kevin Boske
    Michael Shneerson
    Nima Mirzad
    Richard Mareno
    Robert Doyle
    Ryan Stocker
    Shoshanna Budzianowski
    11:30 AM - 2:30 PM Chris McKulka
    David Whitechapel
    Eran Megiddo
    Jonah Burke
    Matt Pope
    Shawn Villaron
  • Erika Ehrli - Adventures with Office Products & Technologies

    PDC 2005 Office & SharePoint breakout sessions schedule

    • 2 Comments

    PDC starts next week and many enhancements for Office "12" and SharePoint "v3" will be announced, so expect to learn more about what's new for Office developers next week. The Office Developer Center will have some great surprises for you, so stop by next week.

    I am very happy because I will be at L.A. next week to attend PDC 2005. I am responsible for the Office & SharePoint Track Lounge, a place where you can stop by and hang out to meet the speakers, staff, and experts. If you are not attending PDC, visit my blog, I will keep you posted on the latest news and surprises.

    If you are attending PDC 2005, don't loose the opportuniy to learn more about the possibilities that Office offers as a development platform:

    DAT315  Building Portals and Dashboards for Business Intelligence and Reporting Applications
    Day/Time: Thursday, September 15 10:00 AM- 11:15 AM Room: 408 AB
    Speaker(s): Chris McKulka, Brian Welcker
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Data & Systems, Office & SharePoint
    Looking to build Business Intelligence and reporting portals and dashboards? Come learn how to build your solutions on the new SharePoint Portal "v3" and SQL Server 2005 Reporting Services platforms to provide live visual dashboards and portal sites optimized for all reporting needs. Topics include setting up and customizing a Report Center in a SharePoint Portal building on the new portal features, using Excel and Report Builder to publish spreadsheets and reports to the portal, and more.
     
    OFF201  ''Office 12'': Introduction to the Programmable Customization Model for the "Office 12" User Experience (Part 1)
    Day/Time: Tuesday, September 13 1:00 PM- 2:15 PM Room: 515 AB
    Speaker(s): Jensen Harris
    Session Type(s): Breakout
    Session Level(s): 200
    Track(s): Office & SharePoint, Presentation
    "Office 12" is introducing a new, declarative model for customizing the Office user interface using XML. Learn about what is possible and how your Office solutions can benefit from the new technologies.
     
    OFF302  ''Office 12'': Developing with the Programmable Customization Model for the "Office 12" User Experience (Part 2)
    Day/Time: Tuesday, September 13 2:45 PM- 4:00 PM Room: 402 AB
    Speaker(s): Andy Himberger
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint, Presentation
    "Office 12" is introducing a new, declarative model for customizing the Office user interface using XML. This session dives into the details of the markup and the resulting behavior, describes how the markup interacts with DLL-based code, and provides guidance for migrating existing solutions and developing new ones.
     
    OFF303  Groove: Building Enterprise Workgroup Applications
    Day/Time: Tuesday, September 13 2:45 PM- 4:00 PM Room: 406 AB
    Speaker(s): Hugh Pyle
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    This session covers the architecture and design of Groove applications connected to enterprise systems. We show how to use the Groove Forms tool to build collaborative applications with the Groove client, and take apart a custom C# application that uses the Groove Web Services to connect Groove workspaces and Groove Forms data into an enterprise process.
     
    OFF304  Assembling, Repurposing and Manipulating Document Content Using the New Office File Format
    Day/Time: Tuesday, September 13 4:15 PM- 5:30 PM Room: 406 AB
    Speaker(s): Brian Jones
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Data & Systems, Office & SharePoint
    The new Microsoft Office Open XML Formats are the default XML file formats for "Office 12". The power and accessibility of these XML file formats are designed for programmability and open up numerous scenarios for manipulating files, creating files from scratch, repurposing content and merging files with business data. This session explains the architecture of the new Open XML Formats, details of the application schemas and walks through how to create a couple of detailed solutions using the WinFX API to control file content.
     
    OFF306  "InfoPath 12": Creating Browser-Based Forms for Enabling Data and Application Integration
    Day/Time: Wednesday, September 14 11:00 AM- 12:15 PM Room: 502 AB
    Speaker(s): Kamaljit Bath
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    This session dives deeply into the new server capability for forms, including server architecture, the security model, performance and authentication. Learn about Visual Studio development with InfoPath for .NET form rendering, business logic checks (through FxCop on the server), data connectivity on the server, and hosting the server form control in an interactive custom aspx page.
     
    OFF307   "Access 12": Developing Collaboration Solutions with "Access 12" and Windows SharePoint Services "v3"
    Day/Time: Wednesday, September 14 1:45 PM- 3:00 PM Room: 411
    Speaker(s): Clint Covington
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    Learn how to combine the new "Access 12" capabilities with the collaboration environment provided by SharePoint sites to build smart client solutions for SharePoint list and library data. "Access 12" has significantly enhanced design tools, full schema interoperability with Windows SharePoint Services, and a new sandboxed development model. We show how to put these tools to work building rich applications in Access that store their data in SharePoint sites, collect data through InfoPath and Outlook, and take advantage of new services from "Office 12" SharePoint Servers. Best practices are discussed around taking SharePoint list data offline, implementing workflow capabilities, and creating reusable template applications, tables and fields for end users.
     
    OFF308  Windows SharePoint Services 'v3': Creating and Defining Custom Templates, Sites, Features, and Solutions
    Day/Time: Wednesday, September 14 1:45 PM- 3:00 PM Room: 501 ABC
    Speaker(s): Mike Ammerlaan
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Data & Systems, Office & SharePoint
    This session covers facilities and techniques for grafting new features into a variety of standard and custom SharePoint sites. It also highlights enhancements into the site definition and provisioning model for giving users a self-service method to create ready-to-use sites that fit specific business activities.
     
    OFF310  Windows SharePoint Services: Developing Collaboration and Tracking Applications
    Day/Time: Wednesday, September 14 5:00 PM- 6:15 PM Room: 402 AB
    Speaker(s): Mike Morton
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Communications, Data & Systems, Office & SharePoint
    The next version of SharePoint sites will include support for new types of data, new options for working with them, and improved interoperability with other Windows Server technologies. This session covers how to take advantage of these facilites within your own code to make use of SharePoint sites for more types of collaboration scenarios.
     
    OFF311  ''Project Server 12'': Developing Project Management Solutions
    Day/Time: Wednesday, September 14 5:00 PM- 6:15 PM Room: 411
    Speaker(s): Phil Smail
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    "Project Server 12" provides a comprehensive platform for creating project collaboration, program management, and IT governance solutions. In this session, learn how to use the new eventing and programmability for advanced scheduling, workflow operations and more in Project 12.
     
    OFF312  "Outlook 12": Developing Solutions Using the Consolidated Outlook Object Model
    Day/Time: Thursday, September 15 10:00 AM- 11:15 AM Room: 406 AB
    Speaker(s): Randy Byrne
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    This session highlights the more important fundamental changes that will make "Outlook 12" a better development platform-making it easier to build solutions that are immediately more robust, usable and manageable. Learn about significant changes in programming the user interaction, the core object model and performance.
     
    OFF313  Web Content Management Application Development and Engine Extensibility
    Day/Time: Thursday, September 15 10:00 AM- 11:15 AM Room: 404 AB
    Speaker(s): Ryan Stocker
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint, Tools & Languages
    This session covers enhanced functionality for designing, deploying, and maintaining Web portals and other applications that depend on large amounts of HTML content.
     
    OFF314  Developing Enterprise Document Solutions Using Office Client and Server Technologies
    Day/Time: Thursday, September 15 10:00 AM- 11:15 AM Room: 409 AB
    Speaker(s): Rob Lefferts
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Communications, Office & SharePoint
    A solution that manages the life of a document can be complex when it involves workflow, content types, policy management, publishing, solution-specific views, and multiple methods of interaction. This session walks you through one complex scenario that integrates the new Enterprise Content Management technologies in the Microsoft "Office 12" client and server products, featuring code at each stage of the document life cycle.
     
    OFF316  Word “12”: Integrating Business Data into Documents using XML-based Data/View Separation and Programmability
    Day/Time: Thursday, September 15 11:30 AM- 12:45 PM Room: 406 AB
    Speaker(s): Tristan Davis
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    Word 2003 introduced the concept of structured documents with its support for custom XML. This session will show how Word "12" takes XML document programmability to a new level, offering improved robustness, more intuitive user interaction, and true data/view separation using the new XML file format. A basic overview of the improved out of the box capabilities (incl. integration with Windows SharePoint Services) will be introduced, and then the power behind those will be shown through a more complex scenario leveraging these features.
     
    OFF318  Developing Document Archiving, Records Management, and Policy Enforcement Extensions to the Microsoft Office System
    Day/Time: Thursday, September 15 2:15 PM- 3:30 PM Room: 404 AB
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    Abstract pending
     
    OFF319  ''InfoPath 12'': Developing Forms for the Smart Client and the Browser
    Day/Time: Thursday, September 15 3:45 PM- 5:00 PM Room: 502 AB
    Speaker(s): Ned Friend
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    Rapid development of both client and browser forms is central theme of the next version of InfoPath. This session covers what's changed in forms development for "Office 12." Drill into deeper integration with Visual Studio Tools for the Microsoft Office System and the new all-managed object model. Learn how to reuse your work through form template parts and through migrating your existing forms investments with the importer/exporter framework. Understand how to integrate InfoPath forms into your own application by hosting InfoPath as an ActiveX or WinForm control, and how to extend InfoPath itself through COM add-ins.
     
    OFF320  Developing with Microsoft Office System Search Technology
    Day/Time: Thursday, September 15 3:45 PM- 5:00 PM Room: 404 AB
    Speaker(s): Joe Sherman
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    Microsoft is making a significant investment in enterprise search with the next version of SharePoint technologies. This session provides a short overview of new product capabilities-including enhancements to relevance, end user experience, and manageability-and then focuses on opportunities for using search in your custom enterprise applications.
     
    OFF321  Surfacing Your Application's Line-of-Business Data and Actions within Enterprise Portals
    Day/Time: Thursday, September 15 5:15 PM- 6:30 PM Room: 502 AB
    Speaker(s): Jonah Burke
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    Data comes from everywhere. Learn about the new technologies being delivered with the next version of the Microsoft Office System for connecting to enterprise data within portal and workspace applications. We cover recommended practices and interfaces for streamlining the use of business data in Office servers.
     
    OFF322  Building a Solution Using a Spreadsheet in Server-Based Scenarios
    Day/Time: Friday, September 16 8:30 AM- 9:45 AM Room: 404 AB
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Data & Systems, Office & SharePoint
    Abstract pending
     
    OFF323  Building Business Intelligence Solutions Using "Excel 12" and SQL Server 2005 Analysis Services
    Day/Time: Friday, September 16 10:30 AM- 11:45 AM Room: 404 AB
    Speaker(s): Allan Folting, Amir Netz
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Data & Systems, Office & SharePoint
    Business Intelligence (BI) is all about business users making better and faster decisions based on the correct data. Getting accurate data into users' hands is crucial to any successful BI application. With that goal in mind, learn how to use SQL Server 2005 Analysis Services and "Excel 12" to build an enterprise-level data analysis solution. In this session, we show you how to develop server-side business rules and unified views of business data for one version of the truth, while at the same time providing end users with simple, self-service flexibility in Excel to make accurate decisions quickly. We cover advancements in SQL Server 2005 Analysis Services, "Excel 12", and how the two products integrate to provide a total solution. Analysis Services topics focus on using Visual Studio to design and organize metadata, develop server-side formatting and exception highlighting, create server-driven actions, develop Key Performance Indicators, and optimize all of the above for analysis in "Excel 12". "Excel 12" topics include the next generation data visualization, analysis, connection and publishing technologies.
     
    OFF324  “Visio 12”: Building Data Visualization Solutions
    Day/Time: Tuesday, September 13 1:00 PM- 2:15 PM Room: 409 AB
    Speaker(s): Bill Morein
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    Your application deals with huge amounts of data-making sense of that information and communicating it broadly is vital to making your users successful. Learn how to incorporate dynamic views of data into your smart client application using the new data visualization capabilities in "Visio 12". Stepping through the creation of an example application, topics covered include connecting to data sources (e.g. Excel, Access, SQL Server, SharePoint lists, and XML), programmatically mapping that data to shapes, and surfacing the data on the diagram using the Data Graphics API.
     
    OFF325  Microsoft CRM: Extending and Customizing Microsoft CRM Solutions
    Day/Time: Wednesday, September 14 3:15 PM- 4:30 PM Room: 402 AB
    Speaker(s): Arash Ghanaie-Sichanie, Alex Simon
    Session Type(s): Breakout
    Session Level(s): 300
    Track(s): Office & SharePoint
    This session will provide a deep overview of the Microsoft Customer Relationship Management (CRM) V3.0 architecture and its rich extensibility model. We'll show how to use Microsoft CRM managed web services, XML schemas, extensive customization tools, NET managed assembly extensions and client side scripting to build powerful sales automation and price proposal management applications in a Service Oriented world. The session also covers how to use Microsoft CRM Workflow NET managed extensions to integrate your custom business logic and process models with CRM. We will use a real price proposal management business scenario to walk you through the CRM extensibility features and show numerous cool demos and code walkthroughs as part of the session. You will also learn how to integrate Microsoft CRM with other applications such as Microsoft Office System (Word, Excel and SharePoint) using the CRM web services, NET Framework and Visual Studio Tools for Office as part of the price proposal management solution design.
     
    OFF405  Windows SharePoint Services: Using ASP.NET 2.0 Technology to Extend Pages, Sites, and Server Farms
    Day/Time: Wednesday, September 14 11:00 AM- 12:15 PM Room: 409 AB
    Day/Time: Thursday, September 15 2:15 PM- 3:30 PM Room: 518
    Speaker(s): Mike Ammerlaan
    Session Type(s): Breakout
    Session Level(s): 400
    Track(s): Data & Systems, Office & SharePoint
    This session covers Windows SharePoint Services' behavior as an ASP.NET Web application, specifically in the areas of Web Parts, master pages, pluggable providers, and much more.
     
    OFF409  Windows SharePoint Services: Advancements in Document, Content, and Data Storage
    Day/Time: Wednesday, September 14 3:15 PM- 4:30 PM Room: 409 AB
    Speaker(s): Dustin Friesenhahn
    Session Type(s): Breakout
    Session Level(s): 400
    Track(s): Data & Systems, Office & SharePoint
    The technology that allows Office clients and servers to use SharePoint sites as repositories for documents, discussion threads, and many other kinds of content has evolved. This session covers how such facilities work and how you can use them for your own applications.
     
    OFF415  Windows SharePoint Services: Developing Custom Workflows
    Day/Time: Thursday, September 15 11:30 AM- 12:45 PM Room: 408 AB
    Speaker(s): George Hatoun, Pravin Indurkar
    Session Type(s): Breakout
    Session Level(s): 400
    Track(s): Data & Systems, Office & SharePoint
    This session covers how to implement workflow within SharePoint sites, as well as handling SharePoint site-specific issues that would be necessary for any workflow
     
    OFF417  Visual Studio Tools for Office 'v3': Creating Office Application Customizations
    Day/Time: Thursday, September 15 2:15 PM- 3:30 PM Room: 409 AB
    Speaker(s): Andrew Whitechapel
    Session Type(s): Breakout
    Session Level(s): 400
    Track(s): Office & SharePoint, Tools & Languages
    See how the next version of the Visual Studio Tools for Office (VSTO) will work with "Office 12" to provide application-level functionality for Visual Studio developers. Learn how the current popular capabilities for VSTO 2005 customizations of Word and Excel documents and add-ins for Outlook are being extended and broadened for "Office 12." This session walks through the development experience and capabilities, and dives into the implementation details that have made these advances possible.
  • Erika Ehrli - Adventures with Office Products & Technologies

    Speaking about possibilites with Office and XML...

    • 0 Comments

    You should check out the Excel XML Writer Library and the Excel XML Writer Library Code Generator created by Carlos Aguilar Mares. Carlos downloaded the Office 2003: XML Reference Schemas, ripped the bones of the Excel 2003 XML Reference Schema, and created a C# library that allows you to generate Office 2003 XML Workbooks. If want to see the power of Excel and XML in action, this is a MUST see. This tool is more than fantastic!

     

  • Erika Ehrli - Adventures with Office Products & Technologies

    Ode to XML in Office

    • 0 Comments

    Since I woke up this morning I was thinking how XML has changed the information systems world. I remembered that when I was in college, I had a client-server teacher who started talking about this new thing called XML and his advice was: “you should explore this baby since it’s going to change the world someday.”

    Since the late 90s, the minds of the software development world adopted XML and designed products that included support and integration for XML. The Microsoft Office team decided as well to integrate XML and to start the XML in Office story. Office 2000 and Office XP were the XML in Office beginners, with these versions you were able to open and save XML files. XML started to gain power and popularity and became the interoperability standard, the lingua franca of all systems. Office 2003 then expanded the possibilities of working with XML and products such as Word, Excel, Access, and InfoPath offered a deeper integration with XML.  With Office 2003 you can do more than save and open files, among other things, you can create XML mappings in Excel, transform Word documents into XSL-FO format, turn user input into XML using InfoPath, and allow developers to create their own XML schema structure representing information within Office 2003 programs. The Office 12 version will expand even more the possibilities for the XML in Office story; for starters, all documents will have open XML-based file formats.

    Here are my recommended steps and pointers to become a part of the XML in Office story:

    1. If you have not learned XML yet, learn it, and make it a part of your life. XML is the present and the future of software. Research and understand what XML, XSL, XSD, and XPath are and how they work together. Visit the XML Developer Center and explore the site. Then, you are ready for step 2.
    2. If you have worked with XML, but you have not experimented with XML in Office, explore the XML in Office portal and learn more about the Office 2003 XML Reference Schemas. Then, you are ready for step 3.
    3. If you know XML, and you have explored the bones of Office in XML, be aware of what’s coming next, Office 12 is full of surprises. Pay close attention to Brian Jones’s blog, register to The Future of Office: Be the First to Know site, and stop by the Office Developer Center. I will keep you posted with all the new content for Office 12 that will be published at the site.

    For everyone, read books, explore blogs and newsgroups, and play around with Office and XML. Try to solve a business or home problem using what you learned; you will be surprised of the power of XML in Office.

  • Erika Ehrli - Adventures with Office Products & Technologies

    Hosting Office in .NET applications

    • 41 Comments

    If you are building a .NET application and you are struggling to find a way to host Word documents, Excel spreadsheets, Visio drawings, Project files, or PowerPoint presentations, you might consider using the Visual C++ ActiveX Control for hosting Office documents. I learned about this download resource and I was shocked to see how you can add it to your solution and start working with Office applications in less than a minute. You can open Office applications, format content, update documents, save changes, print, and more inside your application. The Office Framer Control is an Active X control written in C++. The download includes source code to extend the functionality and sample code to use it inside Visual Basic 6 and HTML pages. You can also enable and disable specific functionality by using a full set of properties, methods, and events exposed for customization.

    You can also host the control inside managed applications following these simple steps:

    1. Download and install the Office Framer Control 1.2 Sample.
    2. Start Visual Studio .NET. 
    3. Open your WinForms or WebForms application.
    4. Add the DSO Framer Control to the Toolbox: 
      • On the Tools menu, click Customize Toolbox (in Visual Studio .NET 2002), or click Add/Remove Toolbox Items (in Visual Studio .NET 2003), and then click the COM Components tab. 
      • On the COM Components tab, select DSO Framer Control Object. 
      • Click OK to close the Customize Toolbox dialog box.
    5. Select the DSO Framer Control icon that appears in the ToolBox and drag-and-drop the control over the Form or Web Form.
    6. Adjust the control’s docking/size as needed.
    7. Build and run the application.
    8. Create a new document to test the control.
    I have to warn you that the control is not supported, the control and the source code is provided AS-IS for customization. However, you still can extend the functionality and it does the job, so have a peek and enjoy!

  • Erika Ehrli - Adventures with Office Products & Technologies

    Starting a new adventure...

    • 2 Comments

    Greetings fellow developers!

    My name is Erika Ehrli and I am the new Site Manager of the MSDN Office Developer Center (ODC). I will continue the awesome work that John Durant -the short bald man - started. Today I am starting a new adventure by using this space as my definite stop to share with you code samples, thoughts, and tips that I have learned to get the best of Office client applications and servers.

    I want to start my blog by sharing with you what moves me to be here: I am a developer, and as many developers around the world, I have been faced with the constant change of technology. As developers we are always exposed to new and better ways to create software and we have a constant need to obtain information and resources to learn how to build solutions and integrate technology to solve our business needs or our customer's needs. We are always demanding to find accurate samples, source code, conceptual and procedural documentation, and of course, the sooner we find it the better.

    I admire all the people who use their talent and knowledge to create whitepapers, code samples, blogs, and tools to help other people to get the best out of software. Sharing knowledge is one of the best ways to make a difference in other developers’ experience with technology, so here I am starting my own way to contribute and enjoying this great opportunity to become one of the voices for the Office development story.

     

     

     

Page 8 of 8 (188 items) «45678