SlideShare a Scribd company logo
1 of 26
http://netponto.org




 26ª Reunião Presencial @ LISBOA
DateTime.Parse("21-01-2012", new CultureInfo("pt-PT"));
João Tito Lívio (aka Tito)
.NET e SharePoint Consultant
Project Manager

Microsoft Most Valuable Professional (Office Development)
MCP + MCTS
Sumário
• Visual Studio Tools for Office (Tool?, VBA?, Polémica? Petições? VBA will dead?, Whatever!)
    – O que é
    – Como Funciona
    – Breve introdução
         •   Application vs Document Level
         •   Criação de um Projecto VSTO
         •   Tipos de Pojectos Disponíveis
         •   Ribbon Visual Designer
• VSTO + Excel (Application Level)
    – Automação + SQL server
    – Automação + Web Services
• VSTO + Word (Document Level)
    – Automação + SQL server
• VSTO + Outlook
    – Automação com SQL Server e E-mails
Opiniões
1. Microsoft has stopped developing Visual Basic (classic) in 1999 and has spent huge effort on building
   .Net framework. since then Microsoft is promoting .Net Framework and C# as the primary language of
   choice. Visual Basic .Net is equally good and can used if you are already an expert in classic VB.
2. Microsoft “is planning “to retire VBA?. Office 2003 came with Scripting Engine based on Javascript (not
   successful) and since then promoting the use of VSTO and Office PIAs in .Net.
3. Starting Office 2007, standard formats of Excel doesn't support embedding macros. Formats that
   support Macros and VBA projects only run of located at Trusted locations or when security is lowered
   below recommended levels.
4. Starting Office 2007, the VBA environment runs in the compatibility mode and having several issues
   when dynamically invoking methods from the embedded VBA projects.
5. It is very clear future versions of Office will not support VBA. However, I don't know which will be the
   last version supporting VBA (2012, 2015?).
6. One has to seriously think about investing their time in learning VBA, when it is going away soon. It is
   getting very difficult to find junior VBA developers.



Source: http://www.execoder.com/2012/01/excel-development-vba-vs-vsto.html
VSTO o que é?
•   Uma Tool para interagir com as Office App’s
•   Interop Object Model via .NET Components
•   Utiliza Managed Code (C# ou VB.NET)
•   Não é necessário conhecimento de VBA
•   Utiliza-se ao Nível da Aplicação Host ou Doc..
•   É interpretado como COM Component
Como Funciona

 VS App   Interop Assembly                         Microsoft Office

                             Object Model Call’s


                              Event, Callbacks
                                 Methods
Application vs Document Level
 A Aplicação Host Carrega o DLL   O Documento Carrega o DLL
Tipos de Projetos VSTO
                                                  APP
              São Templates criados para desenvolver projetos
              VSTO.

              São os suportados oficialmente pela Microsoft,
              embora podermos criar os nossos próprios
              templates para qualquer aplicação Office pois os
              NET Interops estão disponíveis


                                                  DOC
Criar o Primeiro Projecto VSTO
Ribbon Visual Designer
• Integração com a Application Host
• Usa Callbacks para comunicar com o Office
• XML Based


              protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
              {
                  return new MyRibbon();
              }
Trabalhar com a Ribbon
Microsoft Excel e LOB
• Get Data from SQL server
• Interop with Excel
• Manage Workbooks and Worksheets
Excel Interop LOB
Microsoft Excel e Web Services
• Get Data from Service
• Interop with Excel
• Display Data
Excel Interop Web Services
Microsoft Word e LOB
• Get Data from SQL server
• Interop with Word
• Manage Document
Word Interop LOB
Microsoft Outlook e LOB
• Get Data from SQL server
• Interop with Outlook
• Manage Outlook Actions
Outlook Interop LOB
Deploying Visual Studio 2010 VSTO
•   The Microsoft .NET Framework
     –   Visual Studio Tools for the Office system 2010 can work with the Microsoft .NET Framework 3.5 or
         Microsoft .NET Framework 4.

•   The Microsoft Visual Studio 2010 Tools for Office Runtime.
     –   Visual Studio 2010 Tools for Office Runtime provides a runtime environment that manages add-ins
         and document-level solutions.

•   The primary interop assemblies for the 2007 Microsoft Office system or Microsoft Office 2010.
•   Any utilities assemblies referenced by projects that target the .NET Framework 4.

Solution Specific Components
The installer package must install the following components to the user computer:

     –   The Microsoft Office document, if you create a document-level solution.
     –   The customization assembly and any assemblies it requires, Additional components such as configuration
         files, The application manifest (.manifest). The deployment manifest (.vsto).
     –   Ver: http://msdn.microsoft.com/en-us/library/ff937654#Deployment
Patrocinadores “GOLD”
Patrocinador “Bronze”




Patrocinadores “Silver”
Referências e Links Imperdíveis
• Referências: Office Developer Center
   – http://msdn.microsoft.com/en-us/office/aa905340
• Vídeos Interessantes e Links
   Video: Developing Managed Applications for Office 2010 in Visual Studio 2010
   Video: Embedding Type Information from Microsoft Office Assemblies
   Video: Copying a Document to the End User Computer after a ClickOnce Installation
   Video: Deploying Multiple Office Solutions in a Single ClickOnce Installer

• Links
   –   Deployment Overview (Office Development in Visual Studio)
   –   Advanced Office Solution Deployment
   –   Preparing Computers to Run or Host Office Solutions
   –   Updating Office Solutions
   –   How to: Install a ClickOnce Office Solution
   –   How to: Uninstall a ClickOnce Office Solution
   –   Troubleshooting Office Solution Deployment
Questões?
Próximas reuniões presenciais
• 21/01/2012 – Janeiro
• 11/02/2011 – Fevereiro (Coimbra)
• 25/02/2011 – Fevereiro
• 24/03/2011 – Março

Reserva estes dias na agenda! :)
Obrigado!
Contactos Sociais e Blogs
http://www.tlivio.org

More Related Content

What's hot

Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maungChit Thiri Maung
 
Silverlight
SilverlightSilverlight
SilverlightBiTWiSE
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupMurat Yener
 
Uncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight SeminarUncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight SeminarAbram John Limpin
 
Microsoft.net architecturte
Microsoft.net architecturteMicrosoft.net architecturte
Microsoft.net architecturteIblesoft
 
Flex 4 Overview
Flex 4 OverviewFlex 4 Overview
Flex 4 OverviewRJ Owen
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netconline training
 
Getting Started with Flex and PHP
Getting Started with Flex and PHPGetting Started with Flex and PHP
Getting Started with Flex and PHPRyan Stewart
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Trainingguest25cec3
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overviewSubin Sugunan
 
A Brief Intro to Adobe Flex
A Brief Intro to Adobe FlexA Brief Intro to Adobe Flex
A Brief Intro to Adobe FlexChad Udell
 
Better Drupal Interaction Design with Flex
Better Drupal Interaction Design with FlexBetter Drupal Interaction Design with Flex
Better Drupal Interaction Design with FlexChris Charlton
 
LotusUserGroup.org Virtual User Group Meeting - The Real World Integration
LotusUserGroup.org Virtual User Group Meeting - The Real World IntegrationLotusUserGroup.org Virtual User Group Meeting - The Real World Integration
LotusUserGroup.org Virtual User Group Meeting - The Real World IntegrationJohn Head
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparisonKaty Slemon
 

What's hot (17)

Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maung
 
Silverlight
SilverlightSilverlight
Silverlight
 
Beginners introduction to asp.net
Beginners introduction to asp.netBeginners introduction to asp.net
Beginners introduction to asp.net
 
Wpf 1
Wpf 1Wpf 1
Wpf 1
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
Windows 8
Windows 8Windows 8
Windows 8
 
Uncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight SeminarUncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight Seminar
 
Microsoft.net architecturte
Microsoft.net architecturteMicrosoft.net architecturte
Microsoft.net architecturte
 
Flex 4 Overview
Flex 4 OverviewFlex 4 Overview
Flex 4 Overview
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
 
Getting Started with Flex and PHP
Getting Started with Flex and PHPGetting Started with Flex and PHP
Getting Started with Flex and PHP
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Training
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overview
 
A Brief Intro to Adobe Flex
A Brief Intro to Adobe FlexA Brief Intro to Adobe Flex
A Brief Intro to Adobe Flex
 
Better Drupal Interaction Design with Flex
Better Drupal Interaction Design with FlexBetter Drupal Interaction Design with Flex
Better Drupal Interaction Design with Flex
 
LotusUserGroup.org Virtual User Group Meeting - The Real World Integration
LotusUserGroup.org Virtual User Group Meeting - The Real World IntegrationLotusUserGroup.org Virtual User Group Meeting - The Real World Integration
LotusUserGroup.org Virtual User Group Meeting - The Real World Integration
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparison
 

Similar to VSTO + LOB Apps

Taking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices ConferenceTaking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices ConferenceGus Fraser
 
DOT NET TRaining
DOT NET TRainingDOT NET TRaining
DOT NET TRainingsunil kumar
 
Rcs project Training Bangalore
Rcs project Training BangaloreRcs project Training Bangalore
Rcs project Training BangaloreSunil Kumar
 
JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...
JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...
JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...John Head
 
Office As A Development Platform
Office As A Development PlatformOffice As A Development Platform
Office As A Development PlatformChristof Sprenger
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...BIWUG
 
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...John Head
 
MWLUG 2011: The Never Ending Integration Story
MWLUG 2011: The Never Ending Integration StoryMWLUG 2011: The Never Ending Integration Story
MWLUG 2011: The Never Ending Integration StoryJohn Head
 
ILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office IntegrationILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office IntegrationJohn Head
 
Jmp205 Final
Jmp205 FinalJmp205 Final
Jmp205 Finalakassabov
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0Senthil Kumar
 
Andrew Odc2008
Andrew Odc2008Andrew Odc2008
Andrew Odc2008notarian
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 
I T Mentors V S2008 Onramp240 V1
I T Mentors  V S2008  Onramp240 V1I T Mentors  V S2008  Onramp240 V1
I T Mentors V S2008 Onramp240 V1llangit
 
A SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerA SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerAlexander Burton
 
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...John Head
 
Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208akassabov
 

Similar to VSTO + LOB Apps (20)

Taking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices ConferenceTaking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices Conference
 
DOT NET TRaining
DOT NET TRainingDOT NET TRaining
DOT NET TRaining
 
Rcs project Training Bangalore
Rcs project Training BangaloreRcs project Training Bangalore
Rcs project Training Bangalore
 
JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...
JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...
JMP201 Introduction to IBM Lotus Notes and IBM Lotus Domino Integration with ...
 
Office As A Development Platform
Office As A Development PlatformOffice As A Development Platform
Office As A Development Platform
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
 
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
 
MWLUG 2011: The Never Ending Integration Story
MWLUG 2011: The Never Ending Integration StoryMWLUG 2011: The Never Ending Integration Story
MWLUG 2011: The Never Ending Integration Story
 
ILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office IntegrationILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office Integration
 
Jmp205 Final
Jmp205 FinalJmp205 Final
Jmp205 Final
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0
 
Andrew Odc2008
Andrew Odc2008Andrew Odc2008
Andrew Odc2008
 
Bp205
Bp205Bp205
Bp205
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
I T Mentors V S2008 Onramp240 V1
I T Mentors  V S2008  Onramp240 V1I T Mentors  V S2008  Onramp240 V1
I T Mentors V S2008 Onramp240 V1
 
A SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project ServerA SharePoint Developers Guide to Project Server
A SharePoint Developers Guide to Project Server
 
dot net
dot netdot net
dot net
 
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
 
Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
 

Recently uploaded

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

VSTO + LOB Apps

  • 1. http://netponto.org 26ª Reunião Presencial @ LISBOA DateTime.Parse("21-01-2012", new CultureInfo("pt-PT"));
  • 2. João Tito Lívio (aka Tito) .NET e SharePoint Consultant Project Manager Microsoft Most Valuable Professional (Office Development) MCP + MCTS
  • 3. Sumário • Visual Studio Tools for Office (Tool?, VBA?, Polémica? Petições? VBA will dead?, Whatever!) – O que é – Como Funciona – Breve introdução • Application vs Document Level • Criação de um Projecto VSTO • Tipos de Pojectos Disponíveis • Ribbon Visual Designer • VSTO + Excel (Application Level) – Automação + SQL server – Automação + Web Services • VSTO + Word (Document Level) – Automação + SQL server • VSTO + Outlook – Automação com SQL Server e E-mails
  • 4. Opiniões 1. Microsoft has stopped developing Visual Basic (classic) in 1999 and has spent huge effort on building .Net framework. since then Microsoft is promoting .Net Framework and C# as the primary language of choice. Visual Basic .Net is equally good and can used if you are already an expert in classic VB. 2. Microsoft “is planning “to retire VBA?. Office 2003 came with Scripting Engine based on Javascript (not successful) and since then promoting the use of VSTO and Office PIAs in .Net. 3. Starting Office 2007, standard formats of Excel doesn't support embedding macros. Formats that support Macros and VBA projects only run of located at Trusted locations or when security is lowered below recommended levels. 4. Starting Office 2007, the VBA environment runs in the compatibility mode and having several issues when dynamically invoking methods from the embedded VBA projects. 5. It is very clear future versions of Office will not support VBA. However, I don't know which will be the last version supporting VBA (2012, 2015?). 6. One has to seriously think about investing their time in learning VBA, when it is going away soon. It is getting very difficult to find junior VBA developers. Source: http://www.execoder.com/2012/01/excel-development-vba-vs-vsto.html
  • 5. VSTO o que é? • Uma Tool para interagir com as Office App’s • Interop Object Model via .NET Components • Utiliza Managed Code (C# ou VB.NET) • Não é necessário conhecimento de VBA • Utiliza-se ao Nível da Aplicação Host ou Doc.. • É interpretado como COM Component
  • 6. Como Funciona VS App Interop Assembly Microsoft Office Object Model Call’s Event, Callbacks Methods
  • 7. Application vs Document Level A Aplicação Host Carrega o DLL O Documento Carrega o DLL
  • 8. Tipos de Projetos VSTO APP São Templates criados para desenvolver projetos VSTO. São os suportados oficialmente pela Microsoft, embora podermos criar os nossos próprios templates para qualquer aplicação Office pois os NET Interops estão disponíveis DOC
  • 9. Criar o Primeiro Projecto VSTO
  • 10. Ribbon Visual Designer • Integração com a Application Host • Usa Callbacks para comunicar com o Office • XML Based protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() { return new MyRibbon(); }
  • 11. Trabalhar com a Ribbon
  • 12. Microsoft Excel e LOB • Get Data from SQL server • Interop with Excel • Manage Workbooks and Worksheets
  • 14. Microsoft Excel e Web Services • Get Data from Service • Interop with Excel • Display Data
  • 15. Excel Interop Web Services
  • 16. Microsoft Word e LOB • Get Data from SQL server • Interop with Word • Manage Document
  • 18. Microsoft Outlook e LOB • Get Data from SQL server • Interop with Outlook • Manage Outlook Actions
  • 20. Deploying Visual Studio 2010 VSTO • The Microsoft .NET Framework – Visual Studio Tools for the Office system 2010 can work with the Microsoft .NET Framework 3.5 or Microsoft .NET Framework 4. • The Microsoft Visual Studio 2010 Tools for Office Runtime. – Visual Studio 2010 Tools for Office Runtime provides a runtime environment that manages add-ins and document-level solutions. • The primary interop assemblies for the 2007 Microsoft Office system or Microsoft Office 2010. • Any utilities assemblies referenced by projects that target the .NET Framework 4. Solution Specific Components The installer package must install the following components to the user computer: – The Microsoft Office document, if you create a document-level solution. – The customization assembly and any assemblies it requires, Additional components such as configuration files, The application manifest (.manifest). The deployment manifest (.vsto). – Ver: http://msdn.microsoft.com/en-us/library/ff937654#Deployment
  • 23. Referências e Links Imperdíveis • Referências: Office Developer Center – http://msdn.microsoft.com/en-us/office/aa905340 • Vídeos Interessantes e Links Video: Developing Managed Applications for Office 2010 in Visual Studio 2010 Video: Embedding Type Information from Microsoft Office Assemblies Video: Copying a Document to the End User Computer after a ClickOnce Installation Video: Deploying Multiple Office Solutions in a Single ClickOnce Installer • Links – Deployment Overview (Office Development in Visual Studio) – Advanced Office Solution Deployment – Preparing Computers to Run or Host Office Solutions – Updating Office Solutions – How to: Install a ClickOnce Office Solution – How to: Uninstall a ClickOnce Office Solution – Troubleshooting Office Solution Deployment
  • 25. Próximas reuniões presenciais • 21/01/2012 – Janeiro • 11/02/2011 – Fevereiro (Coimbra) • 25/02/2011 – Fevereiro • 24/03/2011 – Março Reserva estes dias na agenda! :)
  • 26. Obrigado! Contactos Sociais e Blogs http://www.tlivio.org