28
Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System (VSTO) Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Embed Size (px)

Citation preview

Page 1: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Session Code: IW-02

Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System (VSTO)

Tim Huckaby

CEO, InterKnowlogy

Microsoft RD & MVP

Page 2: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

About…

• InterKnowlogy (www.InterKnowlogy.com)

● Custom Application Development / Consulting / Software & Systems Engineering Firm headquartered in Carlsbad, CA

● Design, Architect, Build and Deploy Enterprise Class Applications ● Industry Experts:

• Most of the employees are published• Microsoft .NET Application development since 2000!• Microsoft .NET Smart Client pioneers / industry leaders• Information Worker Solutions (VSTO & SharePoint)• Integration / Messaging, B2B / B2C, Wireless / Mobility • Leading Edge: Surface, WPF, Silverlight, SharePoint, OBA, Surface• Cutting Edge Solutions on emerging Microsoft technologies• Largest Client: Microsoft

Page 3: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Designing, Building and Deploying Smart Client Applications on VSTO 2003, 2005, 2005SE, 2008 (1.0, 2.0 & 2.5, 3.0)

Document-centric solutions in Word and Excel

Add-in Solutions

Deployment, but not Security…

Demos, Demos, Demos…

Guidance on how to get smart on VSTO

Page 4: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

That was then…

Page 5: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

This is now…

Page 6: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

• Consists of clients, servers, services and tools• Provides a single infrastructure for

– Communication & collaboration– Business Intelligence– Content management solutions

• Enables developers to bridge information gap between users and data in back-end enterprise systems – SQL Server, SAP, ERP, CRM, etc.

The The 2007 Microsoft Office system2007 Microsoft Office systemis a unified solutions platform for buildingis a unified solutions platform for building

Office Business Applications that make Line-of-Office Business Applications that make Line-of-Business systems, enterprise data and workflows Business systems, enterprise data and workflows

accessible and relevant to users.accessible and relevant to users.

Page 7: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

8

Visual Studio Tools for Office (VSTO) 2003 (1.1)

AdventureWorks Excel Demo

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

Page 8: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

• Makes Office a valuable, first-class project type in Visual Studio• Enables developers to create & extend Office Business Applications• Enables developers to leverage key Office UI features and support

collaboration and workflow• Provides Office developers with the benefits and advantages of the

Visual Studio professional development environment • Enables developers to leverage existing programming skills• Developers can leverage their company’s current investment in

Office 2003 Pro and new investment in 2007 Office system

Visual Studio Tools for OfficeVisual Studio Tools for Office enables developers to leverage Visual Studio andenables developers to leverage Visual Studio and

the Microsoft Office platform to build scalablethe Microsoft Office platform to build scalableline-of-business solutions based on Microsoft Office line-of-business solutions based on Microsoft Office

Page 9: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

10

Visual Studio Tools for Office (VSTO) 2005 "Hello World" Word

Demo

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

Page 10: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

VSTO Deployment Model

• Separation of document, code and assembly – Code is part of a Visual Studio project– Only the assembly is deployed with the document

• Assembly is “linked” to the document– VSTO 2003: Custom properties– VSTO 2005+: App manifest embedded in document

Page 11: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Office Application Solutions (Add-In)

Document-Centric Solutions

Office Client Development with VSTO2 Common Application Models

OM

MyCodeMyCode

OM

MyCodeMyCode MyMenu

MyMenu

MyTaskPaneMyTaskPane

Page 12: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

13

Visual Studio Tools for Office (VSTO) 2005 Excel Guided Tour

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

Page 13: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Key VSTO Features• Visual designers for key UI features

• Workflow & Microsoft SharePoint Support

• Data binding in Word Content Controls

• Application-level add-ins for most Office client apps (both 2003 & 2007)

• Document-level add-ins for Excel & Word 2007

• Improved deployment and security

Page 14: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

The ActionsPane

• Document Actions task pane– Specific task pane available to document customizations

(new in Word and Excel 2003+)

• ActionsPane– Programmable object exposed by VSTO 2005 from

Excel Workbook and Word Document classes– Fully encapsulates an implementation of

ISmartDocument– Provides a Windows Forms-based programming model

for accessing the Document Actions task pane

Page 15: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Visual Studio Tools for Office (VSTO) 2003 (1.1)AdventureWorks Excel Demo

VSTO Roadmap

VSTO 2003VSTO 2003 Document-level code behind Brings Microsoft Office into the managed world Strict security model

VSTO 2005VSTO 2005 Custom ActionsPane Host Controls on doc surface Cached Data in the document Server-side data processing App-level add-ins for Outlook

+ VSTO 2005 Second + VSTO 2005 Second EditionEdition

More App-level add-ins

Visual designers for key UI featuresWorkflow & Microsoft SharePoint supportData-bound Word Content ControlsApp-level add-ins for most client programs (both 2003 & 2007)Doc-level add-ins for Excel and Word 2007ClickOnce deployment & security

Visual Studio 2008 (VSTO v3.0)Visual Studio 2008 (VSTO v3.0)

Page 16: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

17

Visual Studio Tools for Office (VSTO) 2005 Adventure Works Customer

Sales Dynamic Word Doc Creation

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

Page 17: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

VSTO Versions & Roadmap• VSTO 2003 (version 1.0)

– Office 2003 with .NET 1.1

• VSTO 2005 (version 2.0)– Office 2003 with .NET 2.0

• VSTO 2005 SE (version 2.5)– Office 2007 with .NET 2.0 & 3.0

• VSTO 2008 (version 3.0)– Office 2007 with .NET 3.5

Page 18: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Deployment Models

Local/LocalLoading document does not require network access

Users have to install solution

Users have personal copy of document

Updates require redistribution

Local/NetworkLoading document generally requires network access

Users have personal copy of document

Assembly updates can be made in a central location

Document updates require redistribution

Network/NetworkLoading document generally requires network access

Users share document instance

Updates can be made in a central location

Page 19: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

20

Visual Studio Tools for Office (VSTO) 2005 Excel Win32

Services

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

Page 20: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Product Team Blogs• Eric Carter: .NET4Office

http://blogs.msdn.com/eric_carter/• Peter Torr: Office Development, Security, Randomness…

http://blogs.msdn.com/ptorr/• Eric Lippert: Fabulous Adventures in Coding

http://blogs.msdn.com/EricLippert • Paul Stubbs: Office Development with .NET

http://blogs.msdn.com/pstubbs/• VSTO Team Blog

http://blogs.msdn.com/vsto/

Page 21: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Newsgroups• VSTO

microsoft.public.vsnet.vstools.officeMSDN Forums: VSTO http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=16&SiteID=1

Page 22: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Additional Information• MSDN Developer Centers

– VS.NET and Office Development http://msdn.microsoft.com/vstudio/office/

– Office Development http://msdn.microsoft.com/office

• Hands-on Labs for VSTO 2005 http://www.microsoft.com/downloads/details.aspx?FamilyID=f2323aaf-fe87-4203-9ed8-72466566e105&displaylang=en

• VSTO 2005 Web casts http://msdn.microsoft.com/office/understanding/vsto/multimedia/default.aspx

Page 23: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Resources• VSTO Forum

– http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=16

• VSTO-related blogs– VSTO-related Blog Search –

http://search.live.com/macros/pstubbs/vsto – Office Zealot Site –

http://www.officezealot.com/VSTO/bloghome.aspx

Page 24: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

For More Information• Visit the VSTO Developer Center

– http://msdn.microsoft.com/office/tool/vsto/default.aspx

• VSTO Help documentation on MSDN– http://msdn2.microsoft.com/library/d2tx7z6d(en-

us,vs.80).aspx

Page 25: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Office Object Model Reference

• Excel Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb149081.aspx

• Outlook Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb176619.aspx

• PowerPoint Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb251394.aspx

• Visio Automation Object Model Referencehttp://msdn.microsoft.com/en-us/library/aa730930.aspx

• Word Object Model Referencehttp://msdn.microsoft.com/en-us/library/bb244515.aspx

Page 26: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Summary

• VSTO is the key enabler for the .NET stack to build Office Business Applications– Connect documents to live business data– Provide structure using XML Schemas – Provide deeper UI integration using the

Document Actions task pane

• VSTO is the tool of choice for professional developers creating Add-ins & document-centric solutions for the Office Stack– Integrated design-time experience– Developer productivity through programming

model enhancements– All the power of Visual Studio and the .NET Framework

Page 27: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Tim Huckaby, InterKnowlogy

• More info on InterKnowlogy:– www.InterKnowlogy.com

• Contact me: Tim Huckaby

– E-mail: [email protected] [email protected]

– Phone: 760-444-8640– Blog: http://blogs.InterKnowlogy.com/TimHuckaby

• About Tim Huckaby– CEO, InterKnowlogy– Microsoft® Regional Director – Southern California– Microsoft® .NET Partner Advisory Council Founder / Member– Microsoft® MVP - .NET– Microsoft® Surface Partner Advisory Council– INETA Speaker – International .NET Users Group Association– Windows and .NET Magazine Advisory Board Member– .NET Developers Journal Magazine Advisory Board Member– Author / Speaker

Page 28: Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System

Evaluation form

Vul je evaluatieformulier in en maak kans op een van de prachtige prijzen!!

Fill out your eveluation form and win one of the great prizes!!

Session Code: <IW02>