michal neuwirth
DESCRIPTION
Michal Neuwirth. Agenda. VSTO 2008 Word Content Controls Add-ins RibbonX Podokn a úloh (Task p ane & Action pane) Outlook Architektura. VSTO 3.0. Designery pro tvorbu UI Podpora pro Workflow & Microsoft SharePoint Task Pane na úrovni dokumentů. VSTO 2005 SE. - PowerPoint PPT PresentationTRANSCRIPT
Agenda
VSTO 2008Word Content ControlsAdd-insRibbonXPodokna úloh (Task pane & Action pane)OutlookArchitektura
VSTO 2005Vlastní ActionsPane - na úrovni dokumentůHost ControlsCached Data v dokumentechZpracování na straně serveruAdd-in pro Outlook 2003Nasazení a aktualizace založené na manifestech
Add-ins na úrovni aplikacíPodpora pro vlastní podokno úloh, ribbon prvkyPodokno úloh na úrovni aplikací
VSTO 2005 SE
VSTO 2003Code-behind na úrovni dokumentůPropojení Office a managed světůStriktní bezpečnostní model
Designery pro tvorbu UIPodpora pro Workflow & Microsoft SharePointTask Pane na úrovni dokumentů
VSTO 3.0
VSTO 2005 SEVSTO 2005 SEVSTO 2005 SEVSTO 2005 SEVSTO 2005 SE
VSTO 2005VSTO 2005
VSTO 2005 SEVSTO 2005 SE
Office 2003
Podpora Add-ins na úrovni aplikace pro
Microsoft Office Excel 2003Outlook 2003PowerPoint 2003Visio 2003Word 2003
Office 2007
Add-in na úrovni aplikace
VlastníPodokno úloh
ÚpravyRibbonX
Excel 2007
Word 2007
Outlook 2007
PowerPoint 2007InfoPath 2007
Visio 2007
VSTO 2008
Vyžaduje .NET Framework 3.5Document-based řešení
Word, Excel, InfoPathManaged controls na ploše dokumentůActions Pane
Další novinkyDesigner pro RibbonX a Outlok regionyVBA => VSTO interoperabilitaPodpora pro Workflow a Microsoft SharePoint
Databinding
Postaveno nad ADO .NETPráce s daty, která jsou zobrazena poté ve Wordu a Excelu
Bez znalosti OM Office
Datové zdroje:Web ServiceDatabázeDataSetVlastní objekty
Word Content Controls
Tvorba XML schématu v prostředí vytvářením struktury dokumentuPrvky nemají vliv na layout dokumentuPrvky lze vkládat do skupin a s těmi poté pracovatPrvky lze namapovat na XML dataPrvky se vkládají z ToolBoxu na Developer záložceMnožství nastavení pro jednotlivé prvkyPro prázdné prvky lze nastavit řetězcové placeholdery
Word Content Controls
Přímý přístup z .NETuObjektový model, event handlers, ....
ADO.NET databinding
Výhody WCC
V porovnání s BookmarkyObsahují 8 ovládacích prvkůPodporují zamykání obsahu a prvku
V porovnání s XML nodes Nevyžadují XML Schema
V porovnání s Windows Forms ControlsPodpora i pro tisk
VSTO Add-Ins
Managed Add-ins pro:2007 - Excel, PowerPoint, Visio, InfoPath, Outlook, Project, Word2003 – Excel, PowerPoint, Visio, Outlook, Project, Word
Shared Add-ins pro všechny aplikace
Shared Add-ins
COM add-inPokud chceme vytvořit Add-in pro více aplikací najednouPokud neexistuje Managed Add-in
Funguje taktoNahrávají se do DefaultDomain
Sdílení security kontextuJeden může „sundat“ další
Využívá rozhraní Extensibility.IDTExtensibility2Lze vytvořit vlastní proxy třídu („shim“)
Visual Studio COM Shim Wizard
Managed Add-in Framework
Zajišťuje tvorbu managed add-ins pro většinu aplikací
Public Class ThisAddIn
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup End Sub
Private Sub ThisAddIn_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown
End Sub
End Class
Současná řešení
XLMWordBasicCommandBars (‘96)WLL, XLLXLA, PPA, Word global templatesAttached Toolbars ve Wordu a Excelu….
Stále funkční!!!
Word 2003
Možnost připojit toolbary k dokumentůmOtevřené dokumenty zobrazují pouze své připojené toolbaryToolbary vytvořené kódem jsou přístupné všem dokumentům
Prvek Ribbon
Nové uživatelské rozhraní v Office 2007Úpravy pomocí XML modeluVSTO 2008 podporuje úpravy pro
Excel 2007, Outlook 2007, PowerPoint 2007, Word 2007
ZáložkaSkupina
Ribbon
Ovládací prvek
Stávající řešení
Kód přidává Zobrazeno ve skupině
Prvek do standardního menu Menu Commands
Prvek do standarního toolbaru Toolbar Commands
Vlastní toolbar Custom Toolbars
Vše v rámci záložky Add-Ins
Možnosti přizpůsobení
Přidat vlastní záložkyVložení vlastní skupiny do existujících záložekPřidání položky do File MenuPřidání položky do stávajících kontextových záložek
Ovládací prvky
EditBoxesDialogBoxLaunchers DropDownsComboBoxesGalleries
MS Office 2003:msoControlButton, msoControlEdit, msoControlPopup, msoControlComboBox, msoControlDropdown
Prodokument
Pro aplikaci
RibbonX projekty
Instalace na úrovni
aplikace
Je pořád vidět
Vytvoření VSTO řešení
pro celou aplikaci
Word Global Template
Excel Add-in (.xlam)
PPT Add-in (.ppam)
Instalace na úrovni celé
aplikace
Zobrazuje se dle
zobrazených dokumentů
Vytvoření VSTO řešení
pro dokumenty
Word, Excel, PowerPointdokumenty
Accessdatabáze
COM VBA VSTO
XML Formát
<tab id=“myTab” label=“My Tab”><group id=“myGroup” label=“My 1st Group”>
<button id=“myButton” label=“Hello World!” onAction=“myHelloFunc” />
</group></tab>
<tab idMso=“TabInsert”><group id=“myGroup” label=“My 1st Group”
insertAfterMso=“GroupIllustrations”><button id=“myButton” label=“Hello World!”
size=“large” imageMso=“FormatPainter” />
</group></tab>
XML Schéma
Ribbon, tab, group, boxKontejneryModel „najdi nebo vytvoř“
id, idMsoDefinice vlastního id či odkaz na standardní objekt
insertAfterMso, insertBeforeMso Způsob vkládání mezi standardní objekty
image, imageMsoDefinice vlastního obrázku či odkaz na standardní obrázek
getImage, onAction, getEnabled, getVisible
Nejdůležitější CallBack funkce
startFromScratch
<ribbon startFromScratch=“true”>Schová všechny Ribbon záložkyModifikace Office menu
Zůstane pouze položka New, Open, Save, Options a Exit
<command idMso=“Save” onAction=“runMyCode” />
Zachytíme stisk tlačítka Save
<button id=“x” imageMso=“Save” label=“Imposter!” />
Vytvoříme vlastní tlačítko Save
XML vs Designer
VlastnostVisual
Designer XML
Tvorba vlastních záložek Úprava stávajících záložek Skrytí záložek Skrytí skupin a prvků Start from Scratch Položky v Office Menu Úpravy Quick Access Toolbar Úpravy Built-in Commands
Doporučené postupy
UI Obsahuje….
File Menu Externí příkazy nesouvisející s dokumentem
Záložky Příkazy pro modifikaci obsahu dokumentu
Kontextuální záložky
Specifické příkazy pro jednotlivé objekty v dokumentech
Vlastní podokna úloh
Informace relevantní aktuálnímu dokumentu
Podokna úloh
Actions PaneAsociován se specifickým dokumentemAlternativa ke „SmartDocuments“
Task PaneStejné jako Actions Pane ale určen pro celou aplikaci
Podokno úloh aplikace
Podokno úloh nezávislé na dokumentuDvě komponenty
Ovládací prvek pro zobrazení vlastních informací
InfoPath, WinFormsNativní či managed
Add-in pro vytvoření a zobrazení podokna úloh
MDI a SDI
Single Document Interface Multiple Document Interface
Aplikace Excel, PowerPoint InfoPath, Outlook, WordChování Jedno rozhraní pro celou
aplikaci.Okna dokumentů jsou v tomto prostředí vnořena.
Každý dokument má vlastní okno.
Podokno úloh
Jedno podokno úloh asociováno s aplikací.
Každé okno má vlastní podokno úloh.
SDI podokno úloh
1. Vytvoření standardního ovládacího VS 2008 prvku
2. V metodě ThisAddIn_Startup() zadat:CustomTaskPanes.Add(myUserControl, “My Taskpane”)
MDI podokno úloh
1. Vytvoření „wrapperu“ pro dokumentové okno, který zpracovává události a zajišťuje obnovení podokna úloh
2. Vytvoření instance wrapperu v události vytváření okna – NewDocument, DocumentOpen atd.
3. Asociovat podokno úloh v okně během inicializace wrapperu
4. Držet si v Add-inu seznam všech instancí wrapperu
5. Odebrání podokna úloh při zavření okna a zrušení instance odpovídajícího wrapperu
Podokno úloh dokumentu
Propojení mezi podoknem úloh a dokumentemOvládací prvky
WCC na straně dokumentuWindows FormsVlastní ovládací prvky
Podpora pro vytváření podokna úloh v módu návrhuJiž žádné ISmartDocument interface
Dim MyUserControl As New UserControl1
Private Sub ThisDocument_Initialize( _ ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Initialize
Me.ActionsPane.Controls.Add(MyUserControl)End Sub
Ribbon & Task Pane Support
Document- level Actions Pane
Ribbon UI Customization
App-level Custom Task Pane
Excel 2007
Word 2007
Outlook 2007
PowerPoint 2007
InfoPath 2007
Persistence datActions Pane
Document open: task pane vytvořenDocument closed: task pane zrušen
Custom Task PaneVytvořen při otevření oknaZničen při zavření okna
MDI vs SDI
Objektový model
Rozšíření existujícího modelu, nevzniká nový modelStávající řešení fungují beze změnSpojení existujících APIs (CDO, ECEs) do jednoho Outlook OMPlná podpora CDO, ExMAPI, ECEs z managed kódu „Trusted Add-in“ zůstává primární technologie pro úpravy outlook prostředí a formulářové regiony
Outlook API
Extended MAPI
Extended MAPI
Outlook OMOutlook OM
CDOCDO
ECEECE
MAPI Providers
MAPI Providers
Outlook 2000/2002/2003 Outlook 2007Outlook 2000/2002/2003 Outlook 2007
ExMAPIExMAPI
Outlook OM
Outlook OM
CDOCDO
ECEECE
MAPIProvidersMAPI
Providers
RozšířenýOutlook “12” OM
RozšířenýOutlook “12” OM
Nový OOM
Umožňuje vytvářet řešení proti jedné sadě API funkcí (Outlook Object Model)
ECE část: Rozšířený model pro zpracování událostí pro vytváření položek, zobrazování v panelu náhledu, v inspector panelech či editaceCDO část: Ekvivalentní objekty a metody pro AddressBook, DeliverNow, Stores, Fields, HiddenMessages
Odstraňuje separátní bezpečnostní model pro CDO 1.21
Outlook Form Regions
Visual designer pro tvorbu RegionůWinforms + WPF
Run & Debug přímo z VSNení potřeba ruční vytváření XML manifestů, OFS soubůr, úprava registrů, atd.Možnost importu OFS souborů
Form Region Support
Typ Standard Outlook Form(IPM.Contact)
Custom Outlook Form (IPM.Contact.Foo)
Supported in Reading Pane
Adjoining Ö Ö ÖSeparate Ö Ö XReplace X Ö ÖReplace-all X Ö Ö
VSTO Design-time Stack
Visual Studio
Project Templates
OfficeIDE
Hosting
Item Wizards
WorkflowDocument Solutions
Add-ins RibbonRibbon
XMLForm
Regions
SharePoint
Excel, Word Excel, InfoPath, Outlook,
PowerPoint, Visio, Word,
(Access, Project)
Excel, Outlook,
PowerPoint, Word,
(Access)
Excel, Outlook,
PowerPoint, Word,
(Access)Outlook
VSTO Runtime
VSTO Runtime Stack
Office Client Host Managed/Unmanaged Host
Doc Task Pane
Host Item
Control
Windows Forms
Controls
Doc-Level Solution App-Level Add-in
Custom Ribbon
Custom Task Pane
Custom Form
Region
Common VSTO Runtime
.NET CLRManaged Add-in
Framework (MAF)
AppDomain Management
Deployment and Updating
Security Enforcement
ClickOnce
VSTO Runtime
Host Item ControlsMicrosoft.Office.Tools.Excel.ListObject
Microsoft.Office.Tools.Word.Bookmark
....
Windows Forms ControlsMicrosoft.Office.Tools.Excel.Controls.Button
Microsoft.Office.Tools.Word.Controls.ComboBox
.....
Specielní ovládací prvkyDocument Task Pane
App-level Custom Task Pane
Custom form region
Office Task Pane
Window
VSTO Control Hosting
VSTO Invisible ActiveX Control
Custom Windows
Forms UserControl
VSTO Functional Wrapper
PIA Representation
Exposed COM Object Model
Doc-Level Host Item Controls
Excel.ListObject
Microsoft.Office.Interop.Excel.
ListObjectMicrosoft.Office.
Tools.Excel.ListObject
Excel Internal Behavior
VSTO Add-ins
PIA Representation
Exposed COM Object
Model
Excel.Application
Microsoft.Office.Interop.Excel.
Application
Excel Internal Behavior
Microsoft.Office.
Tools.AddIn
AppDomain #2
VSTO Runtime
DefaultDomain
VSTO Runtime Components
Office Host Unmanaged Runtime Loaders Managed Runtime• Check security
• Fetch updates• Create
appdomain• Connect Office
host• Host item controls• Managed controls
Usercode Add-in/
Doc customization
AppDomain #3
Usercode Add-in/
Doc customization
Office InterfacesNové interfaces
Interface Office hosts that support this interface
ICustomTaskPaneConsumer Access, Excel, InfoPath, Outlook, PowerPoint, Word
IRibbonExtensibility Access, Excel, Outlook, PowerPoint, Word
FormRegionStartup Outlook
IBlogExtensibility Word
IBlogPictureExtensibility Word
EncryptionProvider Excel, PowerPoint, Word
SignatureProvider Excel, PowerPoint, Word
Zdroje
Office Developer Center http://msdn.microsoft.com/office/tool/vsto/default.aspx Hands-on Labs for VSTO 2005 http://www.microsoft.com/downloads/details.aspx?FamilyID=f2323aaf-fe87-4203-9ed8-72466566e105&displaylang=en
Nástroje ke stažení
COM Shim Wizard downloadhttp://www.microsoft.com/downloads/details.aspx?familyid=300a6cdb-84dd-4c62-b3bd-e79194d83494&displaylang=en
WebCasty
VSTO 2005http://download.microsoft.com/download/0/7/7/0774EFF4-6E1D-483C-B5B7-B9A56AC18370/VS2005_OFFICE.zip
VSTO 2005 SEhttp://download.microsoft.com/download/2/6/2/2625C8DA-14F0-499C-ADD6-370E1503D15D/VSTO01.zip
BlogyJohn R. Durant
http://blogs.msdn.com/johnrdurant
Eric Carterhttp://blogs.msdn.com/eric_carter/
Peter Torr http://weblogs.asp.net/ptorr/
Eric Lipperthttp://blogs.msdn.com/EricLippert
Paul Stubbs http://weblogs.asp.net/pstubbs
VSTO Team Bloghttp://weblogs.asp.net/vsto2
Odkaz na Office UI Licence
Jak získat zdarma licence na Intelektuální vlastnictví společnosti Microsoft opravňující vytvářet aplikace se vzhledem a funkčností Office 2007 aplikací.http://msdn2.microsoft.com/en-us/office/aa973809.aspx