Office as a development platform with visual studio 2008
1 / 44

- PowerPoint PPT Presentation

  • Uploaded on

Office as a development platform with Visual Studio 2008 . Daniel Moth Developer and Platform Group Microsoft AGENDA. VSTO Overview Office Ribbon Designer Custom Task Pane Action Pane Outlook Form Region Designer Word Content Controls

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about '' - Mercy

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Office as a development platform with visual studio 2008 l.jpg

Office as a development platform with Visual Studio 2008

Daniel Moth

Developer and Platform Group


Agenda l.jpg

  • VSTO Overview

  • Office Ribbon Designer

  • Custom Task Pane

  • Action Pane

  • Outlook Form Region Designer

  • Word Content Controls

  • VBA <-> VSTO interop

  • ClickOnce Deployment

Roadmap l.jpg

v3.0 (in VS2008)

  • Workflow & Microsoft SharePoint support

  • Office 2007 system-specific features, file format, UI

  • App-level add-ins for more client applications

  • Deeper server-side programming

  • VSTO fully integrated into Visual Studio 2008

2005 SE

  • App-level add-ins for most popular Office apps

  • Runtime support for key Office 2007 UI elements (Custom Taskpane, Ribbon, Outlook form regions)

  • Runtime support enabling Office 2003 doc-level customizations to run in Office 2007






  • Custom Document ActionsPane

  • Host Controls on document surface

  • Cached data in the document

  • Server-side data processing

  • Application-level add-ins for Outlook

Vsto functionality over time l.jpg
VSTO Functionality Over Time

  • SP Workflow,

  • new designers,

  • functional extensions

  • infra investments

  • 11 Office add-ins,

  • infra investments

  • Outlook add-ins,

  • VSTA in InfoPath

  • functional extensions

  • infra investments

  • Doc-level

Doc level version resilience l.jpg
Doc-Level Version Resilience

  • v1 solutions use the VSTO v1 runtime

  • v2 solutions use the VSTO v2 runtime

  • v3+ solutions use the VSTO v3+ runtime

    • Reduces the number of runtimes (improves performance, working set)

    • Eliminates type name clashes in DefaultDomain

  • Based on the Managed Add-in Framework

  • Common VSTO/VSTA runtime

Fluent ui l.jpg

“Fluent” UI


Custom Task Panes, Actions Pane,

Form Region

Office ribbon l.jpg
Office Ribbon

  • New Look and Feel for Office UI

  • Replaces Command Bars in “the big 5” Office apps

  • Introduces a new extensibility model: RibbonX

  • Enables you to

    • Customize office tabs, Add to built-in tabs

    • Remove tabs, groups and controls

    • Add to Office menu, Override built-in UI





Xml based customisation support l.jpg
XML-based Customisation Support

Ribbon XML structure requires a specific hierarchy

For example:

<customUIxmlns="" onLoad="OnLoad">



<tab idMso="TabAddIns">

<group id="MyGroup"

label="My Group">

<toggleButton id="toggleButton1"


label="My Button"

screentip="My Button Screentip"


imageMso="AccessFormModalDialog" />






Ribbon customization l.jpg
Ribbon Customization

  • Office built-in support for XML-based customization model

  • VSTO 2005 SE support

    • Simplifies hookup from .NET via pre-generated classes and sample XML

  • VSTO v3.0 (Visual Studio 2008) support

    • Adds full-blown visual designer support

    • “Export to XML” option

    • A more robust programming layer inc. events

Ribbon designer l.jpg

Design Surface

Ribbon Designer

Property Grid

Ribbon Control


Custom task actions panes l.jpg
Custom Task & Actions Panes

  • VSTO simplifies and speeds up task pane UI design process with visual designers and .NET hookup

    • Actions Pane

      • More robust, easier to program alternative to Office’s built-in “Smart Document” technology

    • Custom Task Pane

      • The same general idea as Actions Pane, only on the application add-in level, not individual doc

Actionspane architecture l.jpg
ActionsPane Architecture

WinForms UserControl (ActionsPane)

VSTO Invisible ActiveX Control

Document Actions Task Pane

Outlook form region features l.jpg
Outlook Form Region Features

  • New technology in Outlook 2007 for enhancing and replacing Outlook’s built-in forms

  • Code behind form region is implemented as COM add-in

  • New controls provide built-in look & feel and data binding to Outlook data

4 types of form regions l.jpg
4 Types of Form Regions

  • Adjoining and Separate

    • Custom and built-in forms

  • Replacement and Replace-all

    • Custom forms only

  • Reading Pane can display all types except Separate

Vs2008 outlook form region s l.jpg
VS2008 Outlook Form Regions

  • VSTO eases development of Outlook form regions

    • Configure form region with a simple, intuitive wizard

    • Debugging (F5), Intellisense

  • Import

    • Use wizard to import Outlook-created OFS file

    • Controls are referenced & cast to correct name & type

  • Design

    • Designer supports WPF and Windows Form controls

    • Properties window exposes manifest

Slide26 l.jpg


Content Controls

Word content controls l.jpg
Word Content Controls

  • New experience for developing structured documents in Word 2007

  • New UI for developers to access Word Content Controls

  • Programmable through Word Object Model

  • Support for XML Mapping

Toolbox support l.jpg
Toolbox Support

  • Word content controls available in Toolbox

  • Increases discoverability of content controls

  • Drag-and-drop experience

Property grid support l.jpg
Property Grid Support

  • Easily access the properties and events of the content controls

Programming paradigm l.jpg
Programming Paradigm

  • Windows Forms style programming model

    • Generate event handlers

    • Support for IntelliSense

Two way simple data binding l.jpg
Two-Way Simple Data Binding

  • Two methods to data bind

    • Drag and drop support from Data Sources window

    • Set up through the property grid

Where we ve been what s left l.jpg
Where we’ve been, what’s left

  • VSTO Overview

  • Office Ribbon Designer

  • Custom Task Pane

  • Action Pane

  • Outlook Form Region Designer

  • Word Content Controls

  • VBA <-> VSTO interop

  • ClickOnce Deployment

Call vsto from vba l.jpg

You enable VBA via COM Interop

Interop implemented at design time

You can then call VSTO from VBA with IntelliSense after building the project

Call VSTO from VBA

Clickonce for office add ins l.jpg
ClickOnce for Office Add-ins

  • Low-impact deployment mechanism

    • Self-contained

    • Solutions installed per user

  • Prerequisites are installed if the user is an admin

  • ClickOnce support

    • Full end-to-end solution installation

    • Richer version-independent security model

    • Offline access via the ClickOnce Cache

Summary l.jpg

  • The rationale for the VSTO architecture

    • Bring together Office and .NET

    • Provide a sophisticated developer experience

    • Provide a solid baseline runtime infrastructure

  • Office is a true development platform

Msdn in the uk l.jpg
MSDN in the UK

  • Visit

    • Newsletter

    • Events

    • Screencasts

    • Blogs

Resources l.jpg

  • Visit the VSTO Developer Center

  • VSTO Help documentation on MSDN

  • VSTO Forum

  • VSTO Team Blog

Vsto design time stack l.jpg
VSTO Design-Time Stack

Excel, Word, Info Path

Info Path




PowerPoint, Visio, Word, Project



PowerPoint, Word


IDE Hosting

Separate IDE







Form Regions

Project Templates

Item Wizards

Visual Studio

Vsto a runtime stack l.jpg
VSTO/A Runtime Stack

Office Client Host


Unmanaged Host

Doc-Level Solution

App-Level Add-in

Doc-Level Solution



VSTO Runtime

VSTA Integration

Doc Task Pane

Host Item


Win Forms


Custom Ribbon

Custom Task Pane

Custom Form Region

Common VSTO/A


AppDomain Management

Security Enforcement

Deployment and Updating


Managed Add-in Framework (MAF)