Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist...

35
Microsoft Office 2007 Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH http://blogs.msdn.com/ jensha

Transcript of Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist...

Page 1: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Microsoft Office 2007Microsoft Office 2007Anwendungen entwickeln für Office

2007

Jens HäupelDeveloper Evangelist

Microsoft Deutschland GmbHhttp://blogs.msdn.com/jensha

Page 2: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

AgendaAgenda

Office 12 – die neue ErfahrungDas neue User Interface

XML Dateiformate

Ribbons

Document ActionsPane vs. Custom TaskPane

Add-Ins

Page 3: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Die neue Oberfläche von Die neue Oberfläche von Office 2007Office 2007

Page 4: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Elemente des neuen UIElemente des neuen UI

Enhanced window frame

Enhanced Tooltips

Mini Toolbar

Quick Access Toolbar

Galleries

Contextual Tabs

Live Preview

Ribbons

Page 5: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 6: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Das neue DateiformatDas neue Dateiformat

Page 7: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 8: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 9: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 10: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

DocPart-StrukturDocPart-StrukturRelationship

Page 11: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Das neue DateiformatDas neue Dateiformat

Page 12: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Vorteile des FormatsVorteile des Formats

Size matters

Privacy

Vertrauen

Robustheit

Potential für Entwickler

Offenheit

Sicherheit

Page 13: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 14: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 15: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Aus Menüs werden Aus Menüs werden RibbonsRibbons

(Multifunktionsleisten)(Multifunktionsleisten)

Page 16: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 17: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 18: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

IRibbonExtensibility InterfaceIRibbonExtensibility Interface

GetCustomUI(string)Parameter: Ribbon XML File

Deklaration der CallBack Handler im XML

ribbon

tabs

tab

group

control

group

control

Page 19: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .
Page 20: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .
Page 21: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

RibbonExtensibilityRibbonExtensibility

Page 22: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

TaskPane IntegrationTaskPane Integration

Page 23: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

TaskPanesTaskPanes

Document ActionsPaneDokumentzentrische Erweiterung

SmartDocument

Custom TaskPaneAnwendungszentrische Erweiterung

Basiert auf Add-In

Page 24: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 25: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

TaskPane ProgrammierungTaskPane Programmierung

Page 26: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Applikationszentrische Erweiterungenen(Als Add-In implementiert)

Custom Task Tanes

Ribbon Customization

Outlook Custom Form Regions

Dokumentzentrische ErweiterungenDocument ActionsPane

SmartTags

Page 27: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Isolated COM Add-Ins für Isolated COM Add-Ins für OutlookOutlook

Page 28: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

Back To The Roots: COMBack To The Roots: COM

Office Security: Klasse muß signiert sein Container signiert mit Authenticode

Page 29: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 30: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 31: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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

Page 32: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

VSTO Add-InsVSTO Add-Ins

Supported ShimVerwendet bestehende VSTO Runtime Services

AppDomain IsolationSeparate Security ConfigurationDisconnect UnloadManifest-basierte Updates

Starkes Sicherheits-ModellVisual Studio Projektvorlage

Page 33: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

ZusammenfassungZusammenfassung

Office Programmierung, die Einfacher SichererRichtige Programmierung

Ist undZentrale Assembly-VerwaltungEinfache Updates

Bietet.

Page 34: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .
Page 35: Microsoft Office 2007 Anwendungen entwickeln für Office 2007 Jens Häupel Developer Evangelist Microsoft Deutschland GmbH .

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