Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft...

Preview:

Citation preview

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

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

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

That was then…

This is now…

• 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.

8

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

AdventureWorks Excel Demo

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

• 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

10

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

Demo

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

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

Office Application Solutions (Add-In)

Document-Centric Solutions

Office Client Development with VSTO2 Common Application Models

OM

MyCodeMyCode

OM

MyCodeMyCode MyMenu

MyMenu

MyTaskPaneMyTaskPane

13

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

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

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

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

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)

17

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

Sales Dynamic Word Doc Creation

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

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

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

20

Visual Studio Tools for Office (VSTO) 2005 Excel Win32

Services

Tim HuckabyCEO, InterKnowlogyMicrosoft RD & MVP

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/

Newsgroups• VSTO

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

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

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

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

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

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

Tim Huckaby, InterKnowlogy

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

• Contact me: Tim Huckaby

– E-mail: TimHuck@InterKnowlogy.comor v-TimHu@Microsoft.com

– 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

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>

Recommended