Office Automation - Outlook - PowerPoint PPT Presentation

About This Presentation
Title:

Office Automation - Outlook

Description:

Office Automation - Outlook Zhijian Zhao, Ferdinand Buechler, Gregor Valentin Ziele Erstellen eines einfachen Mailfilters Erweiterung durch Com-Add-In Hinzuf gen ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 21
Provided by: GregorV
Category:

less

Transcript and Presenter's Notes

Title: Office Automation - Outlook


1
Office Automation - Outlook
  • Zhijian Zhao, Ferdinand Buechler, Gregor Valentin

2
Ziele
  • Erstellen eines einfachen Mailfilters
  • Erweiterung durch Com-Add-In
  • Hinzufügen eines Buttons Beim Betätigen des
    Buttons soll eine Messagebox erscheinen

3
Outlook - Anwendungen
Formular Benutzerdefinierten Ordner mit Standardformularen verwenden Team Folder Wizard
Benutzerdefinierten Ordner mit benutzerdefinierten Formularen verwenden Ordner Homepages über Browser öffentliche Exchange Ordner und Outlook Formulare benutzen
COM-Add-In Exchange Agent Andwendungen die spezielle Funktionen bereitstellen (auf Exchange und Outlook basierend)
4
Outlook COM Add-In(Component Object Model)
  • Verändert normale Funktionalität und das
    Erscheinungsbild von Outlook
  • Ist entweder .dll (dynamic-link library) Datei
    die von MS Officeprogrammen geladen wird
  • oder eine Microsoft ActiveX .exe für den Visual
    Basic Editor
  • gt Wobei die .dlls schneller sind als die .exe
    Dateien

5
Add-In vs. COM-Add-InBeide verändern die
Funktionalität und das Erscheinungsbild von
Office-Programmen.
  • Ein COM-Add-In hingegen kann von allen
    Officeprogrammen genutzt werden.
  • Hat also allgemeinen Code und speziellen Code
  • Ein Add-In wird lediglich für ein bestimmtes
    Officeprodukt erstellt.
  • Erstellen einer speziellen Vorlage in Excel die
    man bei jedem Start zur Verfügung haben möchte

6
Add-In Arten
  • Word add-ins .dot, .wll, .wiz
  • Excel add-ins .xla, .xll
  • PowerPoint add-ins .ppa, .pwz
  • Access add-ins .mda, .mde
  • Exchange Client Erweiterungen .dll
  • Outlook und Microsoft Exchange clients
  • gt Erstellen der Vorlage Speichern als Add-In
    des jeweiligen Programms Hinzufügen (Extras -gt
    Add-In -gt Neu Hinzufügen)

7
Erstellung des COM-Add-Ins
  • An dieser Stelle sollte das Step-by-Step Beispiel
  • HOW TO Build an Office COM Add-in by Using
    Visual C .NET
  • stehen, welches wir nur zum Kennenlernen
    empfehlen. Die Screenshots haben wir wegen der
    Größe wegelassen.
  • Mehr Durchblick erhält man beim Lesen von
    diesem Artikel Developing .NET Smart Clients for
    Microsoft Office XP (msdn) von dem ein Link auf
    unserer Page unter der Überschrift COM-Add-In II
    zu finden ist.

8
Referenzen
  • Project?Add References
  • .NET
  • System.Windows.forms
  • COM
  • Microsoft Outlook 10.0 Object Library
  • Microsoft Office 10.0 Object library
  • USING

9
Struktur des COM-Add-Ins
  • public class Connect Object, Extensibility.IDTEx
    tensibility2
  • public void OnConnection()
  • public void OnDisconnection( )
  • public void OnAddInsUpdate( )
  • public void OnStartupComplete( )
  • public void OnBeginShutdown( )
  • private object applicationObject
  • private object addInInstance

10
OnConnection
  • public void OnConnection(object application,
    Extensibility.ext_ConnectMode connectMode, object
    addInInst, ref System.Array custom)
  • applicationObject application
  • addInInstance addInInst
  • if(connectMode !
    Extensibility.ext_ConnectMode.ext_cm_Startup)
  • OnStartupComplete(ref custom)

11
OnDisconnection
  • public void OnDisconnection(Extensibility.ext_Disc
    onnectMode disconnectMode, ref System.Array
    custom)
  • if(disconnectMode ! Extensibility.ext_Disconne
    ctMode.ext_dm_HostShutdown)
  • OnBeginShutdown(ref custom)
  • applicationObject null

12
OnAddInsUpdate OnStartupComplete
  • public void OnAddInsUpdate(ref System.Array
    custom)
  • public void OnStartupComplete(ref System.Array
    custom)
  • CommandBars oCommandBars
  • CommandBar oStandardBar
  • try
  • oCommandBars (CommandBars)applicationObject.
    GetType().InvokeMember("CommandBars",
    BindingFlags.GetProperty , null,
    applicationObject ,null)
  • catch(Exception)

13
OnBeginShutdown
  • public void OnBeginShutdown(ref System.Array
    custom)
  • object omissing System.Reflection.Missing.
    Value
  • System.Windows.Forms.MessageBox.Show(
    "MyAddin1 Add-in is unloading.")
  • MyButton.Delete(omissing)
  • MyButton null

14
Wo befindet sich ein COM-Add-In und wie entferne
ich es?
  • Wie schon erklärt kann an über VB .Net
    COM-Add-Ins erstellen und umgehend einbinden
  • Um es zu entfernen kann man es entweder im
    jeweiligen Officeprogramm abwählen
  • oder man ändert den Schlüssel im jeweiligen
    Verzeichnis der Registrierung
  • Wert von LoadBehaviour auf 0 setzten

15
Probleme
  • Änderung des Ladeverhaltens gibt unterschiedliche
    Ergebnisse
  • PowerPoint und Access Button ist nicht mehr
    vorhanden
  • Outlook und Word Button weiterhin vorhanden
  • Nach Löschen des Registrierungsschlüssels besteht
    der Button in der Symbolleiste weiter
  • Das erstellte COM-Add-In erscheint nicht in der
    vorgesehenen Liste
  • Löschen des COM-Add-Ins vom Computer

16
Probleme
  • Referenzen muss man manuell einfügen, werden
    nicht abhängig von der Angabe bei Erstellung
    eingebunden
  • Um COM-Add-In über Netzwerklaufwerke zu nutzen
    muss man Laufwerk als sicher ausweisen
  • Für die Installation auf anderen Rechnern sind
    weitere Programme und Schritte notwendig
    (odc_comshim)
  • Literatur zu allgemein

17
Links I
  • Gesamtüberblick auf unserer Page (download page)
  • http//www.beside-mainstream.de/html/office-auto
    mation/outlook.html
  • (wenn ihr diesem Link folgt braucht ihr die
    letzten Folien nicht mehr lesen)
  • HOW TO Build an Office COM Add-in by Using
    Visual C .NET
  • Gutes Step by Step Beispiel das funktioniert, der
    Lerneffekt ist sehr gering, keine gute
    Ausgangsbasis. Vielleicht als Einstieg OK, dann
    weiter mit
  • Developing .NET Smart Clients for Microsoft
    Office XP (mshelp)
  • Developing .NET Smart Clients for Microsoft
    Office XP (msdn)
  • Ein gutes einführendes Beispiel zum erstellen
    eines COM-Add-Ins in C, Studio .NET mit
    grundlegender Einführung in die Thematik. Zeigt
    ein Hello World Beispiel und wie man debuggen
    kann. Erklärt den Zusammenhang zwischen .Net,
    Office und dem Com-Add-In.
  • Zeigt den Weg zum installieren und deinstallieren
    des Com-Add-Ins über einen MSI-Installer und
    hinzufügen und entfernen von Programmen. Wenn
    man ein Com-Add-In auf diese weise entfernt, sind
    später die Menü-Einträge noch vorhanden. (ohne
    Funktionalität) Es hilft Extras?Anpassen und
    dort bei den Symbolleisten der Button
    Zurücksetzen. Eventuelle Einträge in der
    Symbolleiste Standard verschwinden nach dieser
    Aktion.
  • Der XML-Web Service funktioniert nicht wie
    beschrieben. Die Reference zum Server hat sich
    geändert. Man bekommt ein Zip-File zum
    Runterladen. Danach steht man vor der
    Problematik, wie man den Service für den
    InternetInformationServer installieren kann. Ich
    hatte dann Probleme mit den Usern und der
    Berechtigung auf meiner Maschine und konnte
    deswegen nicht weiter testen.

18
Links II
  • Office Automation and Digital Certificates
    Demonstration
  • Automation is defined as running code from one
    host application in order to use the
    functionality of another application. For
    example, as you'll see in this article, you can
    run Visual Basic for Applications (VBA) code
    from Microsoft Outlook that opens an instance of
    Microsoft Excel, processes data in an Excel
    workbook, closes the instance of the workbook,
    and then uses the Excel output, all from inside
    Outlook. In this scenario, the controlling
    application (Outlook) works with the controlled
    application (Excel) by manipulating its exposed
    properties, methods, and objects. To accomplish
    this, Outlook just needs a reference to Excel's
    object library in order to create an instance of
    the workbook application.
  • A Primer to the Office XP Primary Interop
    Assemblies
  • Learn how to use the Office XP Primary Interop
    Assemblies to extend and automate Office XP
    features from Microsoft Visual Studio .NET code
    projects. (15 printed pages)
  • Deployment of Managed COM Add-Ins in Office XP
  • Sicherheit in Office XP
  • Managed -Unmanaged Code
  • Shim-Proxi
  • Deployment

19
Links III
  • HOW TO Binding for Office Automation Servers
    with Visual C .NET
  • VS .NET Beispiel mit Zugriff auf Excel Objekte
  • Frühes und spätes Binden des application's
    objects
  • http//www.gotdotnet.com/
  • The Microsoft .NET Framework Community
  • Converting Microsoft Office VBA Macros to Visual
    Basic .NET and C
  • how to migrate an Office VBA macro to .NET,
    specifically Visual Basic .NET and C, and then
    how to transform that solution into a Visual
    Basic .NET managed COM add-in. (32 printed pages)
  • Programming Microsoft Outlook with Visual Studio
    .NET (microeye.com)
  • Linkliste zu interessanten Artikeln für VS.NET
    Entwickler, die Outlook Applikationen entwerfen
    möchten.
  • VS .NET Objektbrowser
  • Im VS Solution-Explorer bei References
    Doppelklicken auf die hinzugefügte
    Outlook-Reference startet den Objekt Browser.
    Viel Spass!!!

20
??? Fragen ???
Write a Comment
User Comments (0)
About PowerShow.com