350 likes | 529 Views
Microsoft Office 2007. Anwendungen entwickeln für Office 2007. Jens Häupel Developer Evangelist Microsoft Deutschland GmbH http://blogs.msdn.com/jensha . Agenda. Office 12 – die neue Erfahrung Das neue User Interface XML Dateiformate Ribbons Document ActionsPane vs. Custom TaskPane
E N D
Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH http://blogs.msdn.com/jensha
Agenda • Office 12 – die neue Erfahrung • Das neue User Interface • XML Dateiformate • Ribbons • Document ActionsPane vs. Custom TaskPane • Add-Ins
Enhanced Tooltips Elemente des neuen UI Contextual Tabs Live Preview Enhanced window frame Galleries Quick Access Toolbar Mini Toolbar Ribbons
Custom Ribbon Extensions Core Tasks TaskPanes Für Office 12 entwickeln • Aufgaben automatisieren • Berechnungen in Excel • Dokumente ausfüllen • Eigene Aktionen • Benutzerdef. Ribbons erzeugen • gebunden an Vorlage oder gesamte Anwendung • Externe Funktionalität via Task Panes hinzufügen • gebunden an Vorlage oder gesamte Anwendung
Microsoft Office Open XML Formats • Für Word, Excel und PPT • XML und ZIP • docx, xlsx, pptx • Offenen und transparent • ECMA: 4000 Seiten • neue Integrationsszenarien • ZIP Container = Standardkompression • Bedeutend geringere Dateigrößen • Einfacher Zugriff auf Inhalte
*.docx Open XML Format Architektur User-Sicht: eine einzelne Office “Datei” Entwickler-Sicht: modulare Datei Document Parts • Fast 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
Grundkomponenten • Package • 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-Struktur Relationship
Vorteile des Formats Size matters Offenheit Vertrauen Sicherheit Privacy Robustheit Potential für Entwickler
Wie steht’s mit Kompatibilität? • Format-Support bei alten Versionen • Office 2000, XP und 2003 • Öffnen, Bearbeiten and Speichern • Binärformat kann Standardformat werden • Beim Deployment oder später (Anwender) • Binärformate von 97-2003 unterstützt • Word-/SpreadsheetML ebenfalls unterstützt
Was ist mit VBA? • docx, xlsx, pptx, … sind makro-freie Dateien • explizit speichern als docm, xlsm, pptm, … ist angesagt • Developer Ribbon muß aktiviert werden • via Application Settings / Personalize
Aus Menüs werden Ribbons (Multifunktionsleisten)
Ribbon Components • Zugriff auf Ribbon via Tab • Ribbon enthält eine oder mehr Gruppen • Eine Gruppe enthält ein oder mehr Controls • Controls können gruppiert werden
Specific Doc/Template Doc Parts Custom UI ActionHandlers Any Document Custom UI ActionHandlers Add-In Office 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
IRibbonExtensibility Interface • GetCustomUI(string) • Parameter: Ribbon XML File • Deklaration der CallBack Handler im XML ribbon tabs tab group control group control
TaskPanes • Document ActionsPane • Dokumentzentrische Erweiterung • SmartDocument • Custom TaskPane • Anwendungszentrische Erweiterung • Basiert auf Add-In
Actions PaneDeveloper experience 1. Design a UserControl 2. Add control behaviour 3. Add the control to the ActionsPane
Applikationszentrische Erweiterungenen(Als Add-In implementiert) • Custom Task Tanes • Ribbon Customization • Outlook Custom Form Regions • Dokumentzentrische Erweiterungen • Document ActionsPane • SmartTags
Back To The Roots: COM • Office Security: Klasse muß signiert sein • Container signiert mit Authenticode
Managed Code ist anders! • CLR übernimmt die Ausführung • Direkter Aufruf der ASM schlägt fehl • Office Security: mscoree = System Komp. = nicht signierbar • Ausweg: Office Security < High
Die 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
DefaultDomain VSTO Runtime: AddinManagerSecurityManager Domain #2 Domain #3 Add-in Add-in Domain #4 Add-in Add-In Architektur OfficeHost App AddinLoader IDTExtensibility2 Adapter AddinLoader IDTExtensibility2 Adapter AddinLoader IDTExtensibility2Adapter
VSTO Add-Ins • Supported Shim • Verwendet bestehende VSTO Runtime Services • AppDomain Isolation • Separate Security Configuration • Disconnect Unload • Manifest-basierte Updates • Starkes Sicherheits-Modell • Visual Studio Projektvorlage
Zusammenfassung Office Programmierung, die • Einfacher • Sicherer • Richtige Programmierung Ist und • Zentrale Assembly-Verwaltung • Einfache Updates Bietet.
Resources • The Future of Office • http://www.microsoft.com/office/preview/default.mspx • The Future of Office Developer Home • http://www.microsoft.com/office/preview/developers/default.mspx • ECMA Standardization • http://www.microsoft.com/office/preview/developers/ecmafaq.mspx • Good Blogs • http://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