440 likes | 770 Vues
Office as a development platform with Visual Studio 2008 . Daniel Moth Developer and Platform Group Microsoft http://www.danielmoth.com/Blog. AGENDA. VSTO Overview Office Ribbon Designer Custom Task Pane Action Pane Outlook Form Region Designer Word Content Controls
E N D
Office as a development platform with Visual Studio 2008 Daniel Moth Developer and Platform Group Microsoft http://www.danielmoth.com/Blog
AGENDA • VSTO Overview • Office Ribbon Designer • Custom Task Pane • Action Pane • Outlook Form Region Designer • Word Content Controls • VBA <-> VSTO interop • ClickOnce Deployment
Roadmap 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 2003 2003 2007 2007 2005 • 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 • 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 • 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 Ribbon, Custom Task Panes, Actions Pane, Form Region
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 Group Tab Control Ribbon
XML-based Customisation Support Ribbon XML structure requires a specific hierarchy For example: <customUIxmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad"> <ribbon> <tabs> <tab idMso="TabAddIns"> <group id="MyGroup" label="My Group"> <toggleButton id="toggleButton1" size="large" label="My Button" screentip="My Button Screentip" onAction="OnToggleButton1" imageMso="AccessFormModalDialog" /> </group> </tab> </tabs> </ribbon> </customUI>
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
Design Surface Ribbon Designer Property Grid Ribbon Control Toolbox
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 WinForms UserControl (ActionsPane) VSTO Invisible ActiveX Control Document Actions Task Pane
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 • 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 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
Word Content Controls
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 • Word content controls available in Toolbox • Increases discoverability of content controls • Drag-and-drop experience
Property Grid Support • Easily access the properties and events of the content controls
Programming Paradigm • Windows Forms style programming model • Generate event handlers • Support for IntelliSense
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 • VSTO Overview • Office Ribbon Designer • Custom Task Pane • Action Pane • Outlook Form Region Designer • Word Content Controls • VBA <-> VSTO interop • ClickOnce Deployment
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 • 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 • 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 • Visit http://msdn.co.uk • Newsletter • Events • Screencasts • Blogs
Resources • Visit the VSTO Developer Center http://msdn.microsoft.com/office/tool/vsto/default.aspx • VSTO Help documentation on MSDN http://msdn2.microsoft.com/en-gb/library/d2tx7z6d(vs.90).aspx • VSTO Forum http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=16 • VSTO Team Blog http://blogs.msdn.com/vsto2
VSTO Design-Time Stack Excel, Word, Info Path Info Path Excel, InfoPath, Outlook, PowerPoint, Visio, Word, Project Excel, Outlook, PowerPoint, Word SharePoint IDE Hosting Separate IDE Outlook Workflow Document Solutions Add-ins Ribbons Form Regions Project Templates Item Wizards Visual Studio
VSTO/A Runtime Stack Office Client Host Managed/ Unmanaged Host Doc-Level Solution App-Level Add-in Doc-Level Solution App-Level Add-in VSTO Runtime VSTA Integration Doc Task Pane Host Item Controls Win Forms Controls Custom Ribbon Custom Task Pane Custom Form Region Common VSTO/A Runtime AppDomain Management Security Enforcement Deployment and Updating .NET CLR Managed Add-in Framework (MAF) ClickOnce