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

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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