PKI-Anwendungen 6/2/2015 1 Base framework. PKI-Anwendungen 6/2/2015 2 Bottom frame.
Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist...
-
Upload
alric-helderman -
Category
Documents
-
view
106 -
download
2
Transcript of Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist...
Microsoft Office 2007Microsoft Office 2007Anwendungen entwickeln für Office
2007
Jens HäupelDeveloper Evangelist
Microsoft Deutschland GmbHhttp://blogs.msdn.com/jensha
AgendaAgenda
Office 12 – die neue ErfahrungDas neue User Interface
XML Dateiformate
Ribbons
Document ActionsPane vs. Custom TaskPane
Add-Ins
Die neue Oberfläche von Die neue Oberfläche von Office 2007Office 2007
Elemente des neuen UIElemente des neuen UI
Enhanced window frame
Enhanced Tooltips
Mini Toolbar
Quick Access Toolbar
Galleries
Contextual Tabs
Live Preview
Ribbons
Für Office 12 entwickelnFür Office 12 entwickelnAufgaben automatisieren
Berechnungen in Excel
Dokumente ausfüllen
Eigene Aktionen
Benutzerdef. Ribbons erzeugengebunden an Vorlage oder gesamte Anwendung
Externe Funktionalität via Task Panes hinzufügen
gebunden an Vorlage oder gesamte Anwendung
Core TasksTask
Panes
Custom Ribbon Extensions
Das neue DateiformatDas neue Dateiformat
Microsoft Office Open XML Microsoft Office Open XML FormatsFormatsFür Word, Excel und PPT
XML und ZIP
docx, xlsx, pptx
Offenen und transparentECMA: 4000 Seiten
neue Integrationsszenarien
ZIP Container = StandardkompressionBedeutend geringere Dateigrößen
Einfacher Zugriff auf Inhalte
Open XML Format ArchitekturOpen XML Format ArchitekturUser-Sicht: eine einzelne Office “Datei”
*.docx
Document PartsFast alle Parts sind XML
Jedes XML Part ist eine diskrete Komponente
Einfaches Hinzufügen, Auslesen bzw. modifizieren individueller Parts ohne Office
Öffnen der Datei trotz evtl. Fehler in bzw. Fehlen von Parts
Entwickler-Sicht: modulare Datei
GrundkomponentenGrundkomponentenPackage
Der ZIP Container
PackagePart Dateien im ZIP-Archiv
Fast alles ist XML, binaräre Dateien möglich
Jedes XML Part ist eine diskrete Komponente
PackageProperties Dokumenteigenschaften
PackageRelationship definieren die Beziehungen zwischen den Parts
PackageDigitalSignature
DocPart-StrukturDocPart-StrukturRelationship
Das neue DateiformatDas neue Dateiformat
Vorteile des FormatsVorteile des Formats
Size matters
Privacy
Vertrauen
Robustheit
Potential für Entwickler
Offenheit
Sicherheit
Wie steht’s mit Kompatibilität?Wie steht’s mit Kompatibilität?
Format-Support bei alten Versionen Office 2000, XP und 2003
Öffnen, Bearbeiten and Speichern
Binärformat kann Standardformat werdenBeim Deployment oder später (Anwender)
Binärformate von 97-2003 unterstütztWord-/SpreadsheetML ebenfalls unterstützt
Was ist mit VBA?Was ist mit VBA?
docx, xlsx, pptx, … sind makro-freie Dateienexplizit speichern als docm, xlsm, pptm, … ist angesagtDeveloper Ribbon muß aktiviert werden
via Application Settings / Personalize
Aus Menüs werden Aus Menüs werden RibbonsRibbons
(Multifunktionsleisten)(Multifunktionsleisten)
Ribbon ComponentsRibbon Components
Zugriff auf Ribbon via TabRibbon enthält eine oder mehr GruppenEine Gruppe enthält ein oder mehr ControlsControls können gruppiert werden
Office UI anpassenOffice UI anpassen
Dokumentebene (statisch)Angepaßtes UI in Datei (Zip-Archiv)
Action Handler in VBA
Anwendungsebene (dynamisch)
Angepaßtes UI dynamisch per .NET Add-In laden
Action Handler innerhalb des Add-In verfügbar
Specific Doc/Template
Doc Parts
Custom UI
ActionHandlers
Any Document
Custom UIAction
Handlers
Add-In
IRibbonExtensibility InterfaceIRibbonExtensibility Interface
GetCustomUI(string)Parameter: Ribbon XML File
Deklaration der CallBack Handler im XML
ribbon
tabs
tab
group
control
group
control
RibbonExtensibilityRibbonExtensibility
TaskPane IntegrationTaskPane Integration
TaskPanesTaskPanes
Document ActionsPaneDokumentzentrische Erweiterung
SmartDocument
Custom TaskPaneAnwendungszentrische Erweiterung
Basiert auf Add-In
Actions PaneActions PaneDeveloper experienceDeveloper experience
1. Design 1. Design a a
UserContrUserControlol
2. Add control 2. Add control behaviourbehaviour
3. Add the 3. Add the control to control to
the the ActionsPanActionsPan
ee
TaskPane ProgrammierungTaskPane Programmierung
Applikationszentrische Erweiterungenen(Als Add-In implementiert)
Custom Task Tanes
Ribbon Customization
Outlook Custom Form Regions
Dokumentzentrische ErweiterungenDocument ActionsPane
SmartTags
Isolated COM Add-Ins für Isolated COM Add-Ins für OutlookOutlook
Back To The Roots: COMBack To The Roots: COM
Office Security: Klasse muß signiert sein Container signiert mit Authenticode
Managed Code ist anders!Managed Code ist anders!
CLR übernimmt die AusführungDirekter Aufruf der ASM schlägt fehl
Office Security: mscoree = System Komp. = nicht signierbar
Ausweg: Office Security < High
Die Lösung des ProblemsDie Lösung des Problems
Dedizierte unmanaged Shim (Proxy)
Hosted die CLR
Lädt ausschließlich eine ASM
Ist selbst signiert
Prüft ASM gegen CAS Policies
Add-In ArchitekturAdd-In Architektur
OfficeOfficeHost AppHost App
AddinLoader
IDTExtensibility2
AdapterDomain #2
Add-in
DefaultDomain
VSTO Runtime:
AddinManagerSecurityManager
AddinLoader
IDTExtensibility2
Adapter
AddinLoader
IDTExtensibility2Adapter
Domain #3
Add-in
Domain #4
Add-in
VSTO Add-InsVSTO Add-Ins
Supported ShimVerwendet bestehende VSTO Runtime Services
AppDomain IsolationSeparate Security ConfigurationDisconnect UnloadManifest-basierte Updates
Starkes Sicherheits-ModellVisual Studio Projektvorlage
ZusammenfassungZusammenfassung
Office Programmierung, die Einfacher SichererRichtige Programmierung
Ist undZentrale Assembly-VerwaltungEinfache Updates
Bietet.
ResourcesResourcesThe Future of Office
http://www.microsoft.com/office/preview/default.mspx
The Future of Office Developer Homehttp://www.microsoft.com/office/preview/developers/default.mspx
ECMA Standardizationhttp://www.microsoft.com/office/preview/developers/ecmafaq.mspx
Good Blogshttp://blogs.msdn.com/brian_jones/default.aspx
http://blogs.msdn.com/eric_carter/default.aspx
http://blogs.msdn.com/mshneer/default.aspx
http://blogs.msdn.com/johnrdurant/default.aspx
http://blogs.msdn.com/vsto2
http://www.officezealot.com/vsto