DDD Using and Extending Excel with Visual Studio A high level discussion of the main options Simon Murphy Developer – Codematic.

Slides:



Advertisements
Similar presentations
Client Tools Explained EAE 3014
Advertisements

Hardcore Office Development Don Kiely Software Technologist Third Sector Technologies Fairbanks, Alaska
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
1 Migrating from Access to SQL Server Simon Kingston, CSU / NPS NRGIS.
Update on PBS October 24, 2005 V3. 2 Expansion of Participant Browser Services (PBS) Background on PBS Rollout Status Customer feedback DTCC listened.
UK XL User Conference 2006 Converting XLA add-ins to COM Add-ins with VB6.0 Simon Murphy Developer – Codematic Ltd.
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.
Office Business Applications for Microsoft Dynamics AX
Designing InfoPath Forms: The Dos and Donts Deploying InfoPath Forms: Making the right choice Adding custom business logicin case the built-in stuff isnt.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
Microsoft SharePoint 2010 technology for Developers
Getting the Most From Visual Basic 2005 Jay Roxe Lead Product Manager Visual Studio.
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
Microsoft® SharePoint™ Products And Technologies “v2.0” Overview Brian Murphy Product Planner Microsoft Corporation.
Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.
Developing Smart Client Applications For The Enterprise Keith Elder Team Leader / Sr. Software Engineer Quicken Loans Blog:
Programming in the Office 2003 Environment Corinne Hoisington.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
It’s always better live. MSDN Events Developer Productivity Improvements with Visual Studio 2008 and Office Business Applications.
Modern app development Continuous value delivery and rapid response to change.
Developing for the Microsoft Office System Jay Schmelzer Group Program Manager – Visual Studio.
Microsoft Visual Basic 2005 ENRICHMENT CHAPTER Visual Studio Tools for Office.
Introduction to VBA. What is VBA? VBA stands for Visual Basic for Applications. It is a programming language used exclusively by the Microsoft Office.
Management Paper – Commercial Spreadsheet Review Simon Murphy Developer – Codematic Ltd.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Joshi R.G. Dept. of Computer Sci. YMA.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Future Directions: Building Customizable Applications using.NET Eric Schnepp TLN205 Lead Program Manager Microsoft Corporation.
Microsoft Confidential Office as a Development Platform Tim Heuer
Nilotpal Bhattacharya Partner Technical Consultant| Microsoft.
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
Todd Kitta  Covenant Technology Partners  Professional Windows Workflow Foundation.
ICINETIC Experts in.NET technologies and architectures.
Building COM Add-Ins Don Kiely Software Technologist Third Sector Technologies Fairbanks, Alaska
 Evolution of Smart Client  What is Smart client?  Types of Smart client  Architectural challenges  Smart Client Architecture  Demo application.
ADD-IN EXPRESS True RAD tools for Microsoft Office developers.
Microsoft Office InfoPath 2007 Development, Deployment, And Hosting For Rich And Browser Forms Jessica Gruber Consultant Microsoft Corporation.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Windows Forms in Visual Studio 2005: An Overview Name: Joe Stegman Title: Lead Program Manager Session code.
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
.Net – The First Glance What Is.Net, Why Use.Net.
DEV12 Excel Services, Server APIs and Managed UDFs Aaron Saikovski Senior Consultant - Readify Australia Blog:
Introducing Visual Studio.NET Petar Banov. Introducing Visual Studio.NET What is.NET all about?.NET Technologies Visual Studio.NET.
ICINETIC Experts in.NET technologies and architectures.
Separating the Interface from the Engine: Creating Custom Add-in Tasks for SAS Enterprise Guide ® Peter Eberhardt Fernwood Consulting Group Inc.
SVR330 Introduction to The Microsoft Office Project 2003 Software Development Kit (SDK) Bob Walker IW Product Technical Specialist - EPM EPG Microsoft.
ADD-IN EXPRESS World-class Office extensions with little coding.
Using MS Excel to validate & load your data into Oracle EBS.
Extending the 2007 Microsoft Office System User Interface Mike Taulty Developer & Platform Group, Microsoft Ltd
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
Arun Prakash Ganesan Development Lead Microsoft Corporation Office 2007 for Developers.
The Office Development Platform & Visual Studio Tools for Office Mike Hernandez Product Manager Microsoft Corporation Steven Goulet Group Program Manager.
Institute for the Protection and Security of the Citizen HAZAS – Hazard Assessment ECCAIRS Technical Course Provided by the Joint Research Centre - Ispra.
InfoPath Development Peter Williams, Ibitec AB. Agenda InfoPath Architecture Develop Forms Deploy Forms Integration.
Pranav Ainavolu VSTO Developer, Conrep Solutions |
ClickOnce Deployment (One-click Deployment)
Introduction ITEC 420.
SECTION 1: Add-ons to PowerPoint
5/20/2018 2:53 AM © 2006 Microsoft Corporation. All rights reserved.
The Transition to Modern Office Add-in Development
Visual Studio Tools for Office 2005
Office as a development platform with Visual Studio 2008
Visual Studio 2005 Tools For Office: Creating A Multi-tier Application
ClickOnce Deployment (One-click Deployment)
Windows Forms in Visual Studio 2005: An in-depth look at key features
Windows Forms in Visual Studio 2005: An Overview
Presentation transcript:

DDD Using and Extending Excel with Visual Studio A high level discussion of the main options Simon Murphy Developer – Codematic Ltd – Excel Development.

DDD Agenda Background Patterns and technical options VSTO demo The main questions (how to choose) Automation v COM Add-ins Demos –Com Add-in –Automation Add-in Deployment Justification Summary & questions

DDD Background On-line confusion No (easy to find) succinct info from MS Mild panic after VB6 retirement (VB6 ~ VBA) Few books (changing rapidly) Why target Excel? –400 Million installations –Very powerful, very programmable client ~ 200 objects ~ 80 events ~ 200 enumerations ~ 4,500 methods and properties Note: this presentation pretty much ignores VBA

DDD Design Patterns Workbook with code behind Excel Add-in –COM Add-in –Automation Add-in Automation executable

DDD Working with Excel - The options VSTO (Visual Studio Tools for the Office System) COM Add-ins Automation Add-ins Standard automation projects –Open, Automate, use features and Close Excel –Excel 97 maybe earlier? XLL Add-ins –Native win32 DLLs (ie pretty much C++) –Excel 4.0 maybe earlier? –Still very relevant VBA Add-ins – Not discussed here

DDD VSTO Demo VSTO (Visual Studio Tools for the Office System) –Special VS template projects that incorporate strong office links. –Closest replacement for workbooks with embedded VBA. –Excel 2003 professional or better –VSTO 2003 US only VSTO 2005 any locale. –Locale still very much an issue for other.net developments

DDD 4 Big Questions 1.What version of Excel? 2.Function or Feature? 3.Application or Workbook Level? 4.Who initiates connection? Or Hosted v None Hosted

DDD 1. Which Version of Excel If Excel 2003 all options are possible Anything less than 2003 (professional) –VSTO (Visual Studio Tools for the Office System) is not possible Anything less than Excel XP –Automation Add-ins not possible Anything less than Excel 2000 –COM Add-ins not possible Total Office Installs – around 400M Excel Versions ~ 2003 – 15% - 60M 2002 – 35% - 140M 2000 – 40% - 160M 1997 – 10% - 40M

DDD 2. Function or Feature? Function (as in worksheet function) –Automation add-in Visual Studio 6 (generally VB6.0) Visual Studio.net VSTO not appropriate –XLL Best performance Feature –COM Add-in –VSTO –Standard automation

DDD 3. Application or Workbook Level? Application –COM Add-in –Automation Add-in –Standard automation project Workbook –VSTO –VBA

DDD 4. Who Initiates connection? Excel (hosted) –VSTO –COM Add-in –Automation Add-in Your application (not hosted) –Standard automation project

DDD Demo COM Add-in – load up events –Application level functionality –Excel 2000 or better –Visual Studio 5 >>

DDD Automation v COM Add-in Automation Add-ins are COM add-ins that can be called directly from a worksheet cell. COM Add-ins –Must Implement IDTExtensibility2 –Generally load on Excel start up (can be changed) Automation Add-ins –May Implement IDTExtensibility2 (discouraged) –Loaded on demand only

DDD Demo Automation Add-in – Worksheet formula –Directly callable worksheet formulas –Excel XP (2002) or better –Visual Studio 5 >>

DDD Development & Deployment Excel is written in unmanaged C with COM interfaces for VBA and other apps. VBA/XLL has the easiest initial deployment (updates are more complex though) VSTO has the most flexible and overall easiest deployment (server or local) COM Add-ins & Automation Add-ins –standard COM local registry issues. –Should have a shim (Custom CLR loader)

DDD COM Shims What are they? –COM dll that loads Mscoree.dll which then loads our managed component –Excel>>COMSHIM>>Mscoree>>MyAddin.dll Why use them? –Security (code signing) –AppDomain Isolation Protect other apps from failures in our component Protect our component from other failures

DDD Why bother? Why change from the current VBA / COM approach? –Deployment and maintenance easier 1 version Write controlled location Cleaner tiered architecture –.net framework functionality –Visual studio.net IDE better than VBAIDE –Enterprise code reuse –.net security may be better than macro security?

DDD When to bother? Note: my personal guess only! Mainstream in 2007! Excel 12 due mid/late 2006 –Excel 12 is a genuine improvement VSTO 3 will probably match that time scale –Very likely to include more application level features Task panes, Add-ins, etc Approx 12 months to get reasonable uptake VBA will be looking very shabby by then VSTA (Visual Studio Tools for Applications) will have fully arrived.net framework should have reached saturation level.

DDD Resources

DDD Summary VSTO for modern workbook based solutions COM Add-ins for application level features Automation Add-ins for worksheet functions

DDD Finally Any questions? Simon Murphy – Excel Development.