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 ( ●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
3 Abstract: This session focuses on the power and developer productivity of Visual Studio Tools for the Microsoft Office System (VSTO). VSTO is a.NET Smart Client technology and this session delves into the tips and tricks, positives and negatives when designing and building smart client applications with VSTO. VSTO allows you to build managed code applications with.NET languages like Microsoft Visual Basic.NET and Visual C#, and have the functionality of those applications manifest in the rich user interfaces of Microsoft Office Excel, Word, PowerPoint, Visio, Outlook and others from the Office stack. Learn just how easy it is to build powerful VSTO applications, and how to deploy those applications. This session covers all versions of VSTO (versions 1.0 through 3.0) targeting both Office 2003 and the 2007 Office system. VSTO addresses some of the biggest challenges that Office solution developers are facing today, including separation of data and view elements, server-side and offline scenarios, seamless integration with the Visual Studio tools, deployment and updating. Lastly, this session delves into the future of VSTO and its potential coverage of document-centric and add-in solutions for the entire Office system stack.
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 2007 Microsoft Office system is a unified solutions platform for building Office Business Applications that make Line-of- Business systems, enterprise data and workflows accessible and relevant to users.
8 Visual Studio Tools for Office (VSTO) 2003 (1.1) AdventureWorks Excel Demo Tim Huckaby CEO, InterKnowlogy Microsoft 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 Office enables developers to leverage Visual Studio and enables developers to leverage Visual Studio and the Microsoft Office platform to build scalable line-of-business solutions based on Microsoft Office
10 Visual Studio Tools for Office (VSTO) 2005 "Hello World" Word Demo Tim Huckaby CEO, InterKnowlogy Microsoft 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 VSTO 2 Common Application Models OM MyCode OM MyCode MyMenu MyTaskPane
13 Visual Studio Tools for Office (VSTO) 2005 Excel Guided Tour Tim Huckaby CEO, InterKnowlogy Microsoft 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 2003 Document-level code behind Brings Microsoft Office into the managed world Strict security model VSTO 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 Edition More App-level add-ins Visual designers for key UI features Workflow & Microsoft SharePoint support Data-bound Word Content Controls App-level add-ins for most client programs (both 2003 & 2007) Doc-level add-ins for Excel and Word 2007 ClickOnce deployment & security Visual Studio 2008 (VSTO v3.0)
17 Visual Studio Tools for Office (VSTO) 2005 Adventure Works Customer Sales Dynamic Word Doc Creation Tim Huckaby CEO, InterKnowlogy Microsoft 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/Local Loading document does not require network access Users have to install solution Users have personal copy of document Updates require redistribution Local/Network Loading 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/Network Loading 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 Huckaby CEO, InterKnowlogy Microsoft RD & MVP
Product Team Blogs Eric Carter:.NET4Office Peter Torr: Office Development, Security, Randomness… Eric Lippert: Fabulous Adventures in Coding Paul Stubbs: Office Development with.NET VSTO Team Blog
Newsgroups VSTO microsoft.public.vsnet.vstools.office MSDN Forums: VSTO m.aspx?ForumID=16&SiteID=1http://forums.microsoft.com/MSDN/ShowForu m.aspx?ForumID=16&SiteID=1.
Additional Information MSDN Developer Centers –VS.NET and Office Development –Office Development Hands-on Labs for VSTO fe ed e105&displaylang=en -fe ed e105&displaylang=en VSTO 2005 Web casts t.aspx t.aspx
Resources VSTO Forum – ?ForumID=16http://forums.microsoft.com/msdn/ShowForum.aspx ?ForumID=16 VSTO-related blogs –VSTO-related Blog Search – –Office Zealot Site –
For More Information Visit the VSTO Developer Center – VSTO Help documentation on MSDN – us,vs.80).aspxhttp://msdn2.microsoft.com/library/d2tx7z6d(en- us,vs.80).aspx
Office Object Model Reference Excel Object Model Reference Outlook Object Model Reference PowerPoint Object Model Reference Visio Automation Object Model Reference Word Object Model Reference
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: – Contact me: Tim Huckaby – or –Phone: –Blog : 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
Visual Studio Tools for Office 2005 Schema-Based Programming Model Direct programmatic access to XML Nodes –XMLNode instances created for each schema element –Access XmlNode instances, instead of UI elements Data binding support Event model –ContextEnter/ContextLeave –AfterInsert/BeforeDelete BidRequestRequestDateNode.Text = DateTime.Now;
Data Caching Why cache data in an Office document? –Cached data can be bound to the Office document and displayed at runtime –Cached data can be used when offline –Cached data is server-accessible –Cached data can store non-UI data needed by your solution VSTO support for data caching –CachedAttribute is used to annotate fields that should be cached –ICachedType can be implemented by a type to provide custom serialization –ServerDocument class can be used to open a document without instantiating Word/Excel
VSTO Security Model Based 100% on.NET Code Access Security By default, no code runs –Trusted assembly ≠ Local machine –Trust via signing the assemblies Authenticode or Strong name –Can also trust via location-based evidence Must also trust the document –Trusted document = Local machine –Temporary Internet files not trusted
Pie Chart Example
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: