Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Office Automation - Outlook Zhijian Zhao, Ferdinand Buechler, Gregor Valentin.

Ähnliche Präsentationen


Präsentation zum Thema: "Office Automation - Outlook Zhijian Zhao, Ferdinand Buechler, Gregor Valentin."—  Präsentation transkript:

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

2 Ziele Erstellen eines einfachen Mailfilters Erstellen eines einfachen Mailfilters … Erweiterung durch Com-Add-In Erweiterung durch Com-Add-In Hinzufügen eines Buttons; Beim Betätigen des Buttons soll eine Messagebox erscheinen 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 Verändert normale Funktionalität und das Erscheinungsbild von Outlook Ist entweder.dll (dynamic-link library) Datei die von MS Officeprogrammen geladen wird Ist entweder.dll (dynamic-link library) Datei die von MS Officeprogrammen geladen wird oder eine Microsoft ActiveX.exe für den Visual Basic Editor oder eine Microsoft ActiveX.exe für den Visual Basic Editor => Wobei die.dll´s schneller sind als die.exe Dateien

5 Add-In vs. COM-Add-In Beide verändern die Funktionalität und das Erscheinungsbild von Office- Programmen. Ein Add-In wird lediglich für ein bestimmtes Officeprodukt erstellt. 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 Ein COM-Add-In hingegen kann von allen Officeprogrammen genutzt werden. Hat also allgemeinen Code und speziellen Code

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

7 Erstellung des COM-Add-Ins An dieser Stelle sollte das Step-by-Step Beispiel An dieser Stelle sollte das Step-by-Step Beispiel HOW TO: Build an Office COM Add-in by Using Visual C#.NET 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. 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. Developing.NET Smart Clients for Microsoft Office XP (msdn) Developing.NET Smart Clients for Microsoft Office XP (msdn)

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

9 Struktur des COM-Add-Ins public class Connect : Object, Extensibility.IDTExtensibility2 {public void OnConnection(…) { } {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_DisconnectMode disconnectMode, ref System.Array custom) { if(disconnectMode != Extensibility.ext_DisconnectMode.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 ; object omissing = System.Reflection.Missing.Value ; System.Windows.Forms.MessageBox.Show( "MyAddin1 Add-in is unloading."); System.Windows.Forms.MessageBox.Show( "MyAddin1 Add-in is unloading."); MyButton.Delete(omissing); MyButton.Delete(omissing); MyButton = null; 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 Wert von LoadBehaviour auf 0 setzten

15 Probleme Änderung des Ladeverhaltens gibt unterschiedliche Ergebnisse: Änderung des Ladeverhaltens gibt unterschiedliche Ergebnisse: PowerPoint und Access Button ist nicht mehr vorhanden PowerPoint und Access Button ist nicht mehr vorhanden Outlook und Word Button weiterhin vorhanden Outlook und Word Button weiterhin vorhanden Nach Löschen des Registrierungsschlüssels besteht der Button in der Symbolleiste weiter Nach Löschen des Registrierungsschlüssels besteht der Button in der Symbolleiste weiter Das erstellte COM-Add-In erscheint nicht in der vorgesehenen Liste Das erstellte COM-Add-In erscheint nicht in der vorgesehenen Liste Löschen des COM-Add-Ins vom Computer 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 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 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) Für die Installation auf anderen Rechnern sind weitere Programme und Schritte notwendig (odc_comshim) Literatur zu allgemein Literatur zu allgemein

17 Links I Gesamtüberblick auf unserer Page (download page): Gesamtüberblick auf unserer Page (download page): http://www.beside-mainstream.de/html/office-automation/outlook.html (wenn ihr diesem Link folgt braucht ihr die letzten Folien nicht mehr lesen) (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 HOW TO: Build an Office COM Add-in by Using Visual C#.NET HOW TO: Build an Office COM Add-in by Using Visual C#.NET 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: 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 (mshelp) Developing.NET Smart Clients for Microsoft Office XP (mshelp) Developing.NET Smart Clients for Microsoft Office XP (mshelp) Developing.NET Smart Clients for Microsoft Office XP (msdn) Developing.NET Smart Clients for Microsoft Office XP (msdn) Developing.NET Smart Clients for Microsoft Office XP (msdn) 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. 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. 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. 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 Office Automation and Digital Certificates Demonstration Office Automation and Digital Certificates Demonstration 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. 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 A Primer to the Office XP Primary Interop Assemblies A Primer to the Office XP Primary Interop Assemblies 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) 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 Deployment of Managed COM Add-Ins in Office XP Deployment of Managed COM Add-Ins in Office XP Deployment of Managed COM Add-Ins in Office XP Sicherheit in Office XP Sicherheit in Office XP Managed -Unmanaged Code Managed -Unmanaged Code Shim-Proxi Shim-Proxi Deployment Deployment

19 Links III HOW TO: Binding for Office Automation Servers with Visual C#.NET HOW TO: Binding for Office Automation Servers with Visual C#.NET HOW TO: Binding for Office Automation Servers with Visual C#.NET HOW TO: Binding for Office Automation Servers with Visual C#.NET VS.NET Beispiel mit Zugriff auf Excel Objekte VS.NET Beispiel mit Zugriff auf Excel Objekte Frühes und spätes Binden des application's objects Frühes und spätes Binden des application's objects http://www.gotdotnet.com/ http://www.gotdotnet.com/ http://www.gotdotnet.com/ The Microsoft.NET Framework Community The Microsoft.NET Framework Community Converting Microsoft Office VBA Macros to Visual Basic.NET and C# Converting Microsoft Office VBA Macros to Visual Basic.NET and C# Converting Microsoft Office VBA Macros to Visual Basic.NET and C# 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) 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) Programming Microsoft Outlook with Visual Studio.NET (microeye.com) Programming Microsoft Outlook with Visual Studio.NET (microeye.com) Programming Microsoft Outlook with Visual Studio.NET (microeye.com) Linkliste zu interessanten Artikeln für VS.NET Entwickler, die Outlook Applikationen entwerfen möchten. Linkliste zu interessanten Artikeln für VS.NET Entwickler, die Outlook Applikationen entwerfen möchten. VS.NET Objektbrowser VS.NET Objektbrowser Im VS Solution-Explorer bei References: Doppelklicken auf die hinzugefügte Outlook-Reference startet den Objekt Browser. Viel Spass!!! Im VS Solution-Explorer bei References: Doppelklicken auf die hinzugefügte Outlook-Reference startet den Objekt Browser. Viel Spass!!!

20 ??? Fragen ???


Herunterladen ppt "Office Automation - Outlook Zhijian Zhao, Ferdinand Buechler, Gregor Valentin."

Ähnliche Präsentationen


Google-Anzeigen