Contact

netcreate OHG
  • Send mail to the author(s) E-mail
  • XING

My talks

Community

.NET Developer Group Braunschweig Co-Lead INETA Deutschland Microsoft Community Leader/Insider Program (CLIP) .NET GUI Just Community e.V.

Categories  RSS 2.0

Archives

Blogs of friends

Comments

Stats

Total Posts: 229
This Year: 62
This Month: 0
This Week: 0
Comments: 105

Tags

 

Virtuals Labs für VS 2008 VSTO

Posted in Office 2007 at Friday, September 28, 2007 9:27 AM W. Europe Daylight Time

Auf Zlatan's Blog findet man die Links zu 4 verschiedenen Virtuals Labs für das kommende VSTO 3 und VS 2008. Der Vorteil eines Virtual Labs ist, dass man nichts installieren oder ein VPC Image runterladen muss, sondern man kann direkt loslegen. Es wird nur eine gute Internetanbindung benötigt. ;-)

ISV Virtual Lab: Building Custom Office Applications Using Microsoft VSTO Part 1-Data Binding with Word Content Controls

In Part 1 of this lab series, you will learn to create a structured Word template project using Visual Studio Tools for Office. You will also learn to lock the content controls in the template and create an Actions pane with data-bound controls.

ISV Virtual Lab: Building Custom Office Applications Using Microsoft VSTO Part 2-Create an Outlook Add-in with a Form Region

Part 2 of this series will familiarize you with creating a custom Outlook Form Region. You will build a simple WPF control and add it to the custom Outlook Form Region and also add Windows Controls to it.

ISV Virtual Lab: Building Custom Office Applications Using Microsoft VSTO Part 3-Build an Excel Add-in with Ribbon and Custom Task Pane Integration

In Part 3 of this series you will build an Excel add-in with Ribbon and custom Task Pane integration. You will become more familar with creating an application-level Excel 2007 add-in, adding a custom Task Pane, and adding a Ribbon customization that syncs with the custom Task Pane. ...

ISV Virtual Lab: Building Custom Office Applications Using Microsoft VSTO Part 4-Create a SharePoint Workflow

This final part of the series (Part 4) deals with creating a SharePoint workflow. You will walk-through creating a customized SharePoint workflow, adding a CreateTask activity to it, and adding an OnTaskChanged activity to the workflow.

 

Weitere Infos: hier

Mit einem Smart Tag aus Word 2007 Termine in Outlook 2007 nachschlagen

Posted in .NET Entwicklung |  Office 2007 |  Konferenzen at Wednesday, September 26, 2007 10:37 PM W. Europe Daylight Time

Bei meinem Vortrag auf dem .NET Summercamp 2007 habe ich dieses kleine Smart Tag Beispiel vorgestellt. Die Idee des Smart Tags ist folgende: Wird ein Datum in Word eingegeben, so kann das Smart Tag den Outlook Kalender nach Terminen an diesem Datum durchsuchen und diese ausgeben. Das Ganze soll die Einfachheit demonstrieren, mit der ein Smart Tag erstellt werden kann und aufzeigen, wie leicht eine Interoperabilität zwischen Office Applikationen hergestellt werden kann. Auf geht es...

Ich habe das Beispiel mit VS 2008 Beta 2 erstellt. Es sollte aber auch mit VS 2005 & VSTO 2005 SE klappen. Zuerst wird ein WordDocument Projekt benötigt:

wordducment2

Nachdem das Projekt geladen ist, muss als erstes die COM Referenz "Microsoft Outlook 12.0 Object Library" hinzugefügt werden. Diese wird für den Zugriff auf Outlook benötigt. Weiterhin ist folgendes Namespaces für das Projekt erforderlich:

using System.Text.RegularExpressions; using Outlook = Microsoft.Office.Interop.Outlook; using Microsoft.Office.Tools.Word; using System.Reflection;

Danach wird der Smart Tag erstellt. Dies wird in der Methode "ThisDocument_Startup" in der ThisDocument.cs getan:

Man initialisiert den Smart Tag und gibt diesem einen Menüpunkt, welcher ein Click-Event bekommt.

Microsoft.Office.Tools.Word.SmartTag st = new Microsoft.Office.Tools.Word.SmartTag("http://SmartTag/ST#SmartTagDate", "Datum in Outlook nachschlagen"); Microsoft.Office.Tools.Word.Action menue1 = new Microsoft.Office.Tools.Word.Action("Datum in Outlook nachschlagen"); st.Actions = new Microsoft.Office.Tools.Word.Action[] { menue1 }; menue1.Click += new ActionClickEventHandler(menue1_Click);

Danach fügt man dem Smart Tag einen Regexpression hinzu, welcher die Kombination von zz.zz.zz(zz) [25.09.07] erkennt und highlightet.

st.Expressions.Add(new Regex("\\d{1,2}.\\d{1,2}.\\d{2,4}"));

Durch die Möglichkeit, Regexpression zu übergeben, hat man an dieser Stelle eine sehr performante Möglichkeit auf bestimmte Zeichenkombinationen zu reagieren. Alternative kann man dem Smart Tag mit "st.Terms.Add("String");" einen String übergeben, welcher erkannt wird. Für beides gilt, zu viele Terms bzw. Regexpression machen das Dokument langsam.

Wenden wir uns nun dem Click-Event zu, welches oben definiert wurde. Als erstes muss man das Datum parsen, welches der Benutzer eingegeben hat.

DateTime dt = DateTime.ParseExact(e.Text, "dd.MM.yy", null);

Danach muss man eine Outlook Instanz erstellen und sich bei dieser anmelden:

Outlook.Application oApp = new Outlook.Application(); Outlook.NameSpace oNS = oApp.GetNamespace("mapi"); //Login oNS.Logon(Missing.Value, Missing.Value, true, true);

Nun muss man sich ein Kalender-Ordner Objekt besorgen und diesem eine Restriktion übergeben. Diese wird benötigt, damit man nicht über alle Kalendereintäge iteriert, sondern nur über das eine eingegebene Datum. Dazu benötigt man einen Filter:

//Kalender Ordner Outlook.Folder folder = oApp.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar) as Outlook.Folder; if (folder != null) { //Nach dem Datum filtern string filter = "[Start] >= '" + dt.ToString("g", culture) + "' And [End] <= '" + dt.AddDays(1).ToString("g", culture) + "'"; Outlook.Items calenderItems = folder.Items.Restrict(filter); calenderItems.Sort("[Start]", System.Type.Missing); calenderItems.IncludeRecurrences = true;

Der Filter benutzt die JET Notation, alternativ könnte dies auch in DASL gefiltert werden. Nach der Übergabe des Filters sortiert man die Items nach dem [Start] Element und zieht dabei auch Wiederholungen in den gefundenen Treffern mit ein (IncludeRecurrences ist das Stichwort). Achtung! Nachdem man IncludeRecurrences auf True gesetzt hat, funktioniert der Zugriff auf Outlook.Items.Count nicht mehr, so dass man keine For-Schleife benutzen kann. Es muss mit Foreach iteriert werden. (weitere Infos dazu hier).

Jetzt kümmern wir uns noch um die Ausgabe unserer gefundenen Ergebnisse:

//Ausgabe vorbereiten StringBuilder sb = new StringBuilder(); sb.AppendLine("Folgende Termine sind an dem Tag vermerkt:\n\n"); //Nicht Outlook.Items.Count verwenden foreach (Outlook.AppointmentItem appItem in calenderItems) { sb.AppendFormat("Titel:\t {0}\n", appItem.Subject); sb.AppendFormat("Uhrzeit:\t {0} - {1}\n", appItem.Start.ToShortTimeString(), appItem.End.ToShortTimeString()); sb.AppendLine(); } //Ausgabe MessageBox.Show(sb.ToString(),"Terminübersicht für den " + dt.ToShortDateString(),MessageBoxButtons.OK, MessageBoxIcon.Information);

Wenn man nun das Projekt startet und den Smart Tag ausprobieren möchte, wird man feststellen, dass dieser nicht funktioniert. Das liegt daran, dass man den Smart Tag in Word erst aktivieren muss.

Dies macht man in Word unter "Word Optionen"-> Add-Ins-> gehe zu "Smarttags" auswählen. Jetzt kann man den Smart Tag aktivieren.

smarttag_aktivieren

Damit die Aktivierung funktioniert, muss das Projekt erneut gestartet werden.

Wenn man nun ein Datum in Word eingibt, sollte dieses gehighlightet werden. Sobald man mit der Maus drüberfährt, sollte unser neu erstellter Smart Tag sichtbar werden.

smarttag1

smarttag2

 smarttag3

Das Beispiel ist als Prototype zu verstehen und soll nur das "Doing" aufzeigen. Man benötigt natürlich noch ein umfangreiches Errorhandling etc ;-)

Das Projekt kann hier runtergeladen werden: Download

In 6 Zeilen zum eigenem Smart Tag

Posted in .NET Entwicklung |  Office 2007 |  Konferenzen at Wednesday, September 26, 2007 4:34 PM W. Europe Daylight Time

Beim .NET Summercamp habe ich gezeigt, wie schnell man ein Smart Tag erstellen kann. Um einen Smart Tag für Word oder Excel zu erstellen, benötigt man nur das VSTO 2005 SE (alternative VSTO 3 mit der VS 2008 Beta 2) und folgende 6 Zeilen Code:

Smart Tag Basic - Copy Code
1 Microsoft.Office.Tools.Word.SmartTag st = 2 new Microsoft.Office.Tools.Word.SmartTag("http://Smarttag/st#SmartTagBasic", "Smart Tag Basic"); 3 Microsoft.Office.Tools.Word.Action menu1 = new Microsoft.Office.Tools.Word.Action("drück mich"); 4 menu1.Click += new Microsoft.Office.Tools.Word.ActionClickEventHandler(menu1_Click); 5 st.Actions = new Microsoft.Office.Tools.Word.Action[] { menu1}; 6 st.Terms.Add("Smarttag"); 7 VstoSmartTags.Add(st);

Jetzt nur noch den Click-Event mit einer Ausgabe versehen und fertig ist unser Smart Tag. Damit der Smart Tag funktioniert muss dieser noch unter "Add-Ins -> Smarttags" aktiviert werden.

Das Beispiel habe ich mit VS 2008 Beta 2 erstellt: download

Back from .NET Summercamp 2007

Posted in Office 2007 | Community |  Konferenzen at Wednesday, September 26, 2007 3:54 PM W. Europe Daylight Time

Gestern war ich auf dem .NET Summercamp 2007 in Leipzig, welches regelmäßig von Torsten Weber, Alexander Groß und Team organisiert wird. Nachdem ich in Leipzig angekommen bin und endlich mein Hotel gefunden hatte (Achtung: Die Angaben in hrs.de stimmen nicht immer überein :-/), saß ich auch schon wieder im Taxi auf dem Weg zur Leipziger Universität. Die Universität hat mir gut gefallen, schön groß und hübsche Gebäude (so als Architekturlaie ;-). Gerade angekommen wurde ich auch gleich herzlich empfangen und von zwei netten Hostessen betreut (Danke an Maria und Susi!).

Auf dem Summercamp durfte ich etwas über Office 2007 Add-In Entwicklungen mit VSTO 2005 SE  & VSTO 3 (VS 2008 Beta 2) berichten. Nachdem Vortrag gab es ein leckeres französisches Buffet und viele nette Gespräche dabei. Den Abend haben wir dann gemütlich an der XBOX 360 ausklingen lassen. Dabei habe ich es geschafft nicht den König der Schlechtenliste zu schlagen (gell Torsten oder siehst du das anders? :D ). Ich glaube der Kauf einer XBOX steht ins Haus, ich besitze schon länger die alte XBOX, aber die neue hat echte Vorzüge! Jetzt benötige ich nur noch ein „Lars will mich kaufen" - Angebot ;)

 

Alles in Allem war das .NET Summercamp eine gelungene Veranstaltung und es hat mir sehr viel Spaß gemacht! Schade, dass ich nicht länger bleiben konnte und die weiteren Sprecher (Hannes Preishuber, Ralf Westphal, Michael Willers, Daniel Fisher etc.) zu hören. Nochmals Danke an Torsten und Alex! Ich hoffe, ich bin das nächste Mal wieder dabei!

Podcast - ASP.NET Teil 3 - Enterprise Umgebungen

Posted in .NET Entwicklung |  ASP.NET at Friday, September 21, 2007 1:41 PM W. Europe Daylight Time

Seit dem 16.09.07 gibt es den dritten Teil der ASP.NET Podcasts Serie von .NET Cast. Themen des Podcast:

Was wird unter Enterprise Umgebungen verstanden?
Optimierung von Webseiten / Performance
Unterschiede zu anderen Sprachen
ASP.NET und seine Möglichkeiten
und mehr ...

Weitere Infos: hier

Download: hier

XTOPIA 2007 - Relaunch

Posted in Konferenzen at Wednesday, September 19, 2007 12:31 PM W. Europe Daylight Time

Anfang der Woche wurden die XTOPIA Seiten einem Redesign unterzogen. Endlich ;-) Jetzt gefallen mir die Seiten richtig gut und ich finde auch meine gesuchten Informationen schneller.

Herzlichen Glückwunsch Kay :-)

Basta! Konferenz - Ich bin dabei!

Posted in Community |  Konferenzen at Sunday, September 16, 2007 9:22 PM W. Europe Daylight Time

Vom 17-21.09.07 findet die Basta! in Mainz statt. Es gibt über 90 Session und mehr als 60 Sprecher (Agenda).

Ich bin vom 18-20.09.07 auf der Basta! und freue mich auf die vielen interessanten Vorträge und auf viele bekannte und neue Gesichter.

Man sieht sich auf der Basta!

Infos: www.basta.net

Back von der ice:2007

Posted in Community |  Konferenzen at Sunday, September 16, 2007 9:06 PM W. Europe Daylight Time

Ich bin von der ice:2007 zurück und kann nur sagen, es war eine sehr gelungene Veranstaltung, die Nicki da auf die Beine gestellt hat.

Kai, Karim und ich sind Freitagabend nach Lingen gefahren. Als wir angekommen sind, ging es gleich los! Nicki hatte auf die ATEs-Speaker-VIP Party eingeladen, auf der wir uns mit allen auf die ice einstimmten.

Am nächsten Tag war die ice Konferenz. Für mich war es die erste ice, die ich miterleben durfte. Es gab viele interessante Vorträge anzusehen. Das schöne dabei war, dass ich Vorträge aus anderen IT Bereichen anschauen konnte und dadurch auch mal "die anderen Seite" kennen lernen durfte. So wie Michael Willers das in der Closing Session erwähnt hat, steht die ice u.a. für den Dialog zwischen Admins und Entwickler. Den Abend haben wir dann alle auf der After ice Party verbracht, auf der der Dialog intensiviert wurde.

 

Alles in allem war es eine super Konferenz, die sehr viel Spaß gemacht hat. Vielen Dank an Nicki und das gesamte Orgateam!

Man sieht sich auf der ice:2008 ;-)

Stress? - Haben wir doch alle nicht ;-)

Posted in Allgemein | OffTopic at Thursday, September 13, 2007 5:04 PM W. Europe Daylight Time

Ich bin gerade über diesen guten geschrieben Blog Eintrag von Jochen Mai (Die Karriere-Bibel) zum Thema Stress gestoßen. Wer schon immer mal etwas über Stress wissen wollte, was das ist oder welche Wirkungen dieser hat, bitte schön...

Schluss mit Stress – 10 Irrtümer über die Volkskrankheit

Samstag ist ICE 2007 - Zeit

Posted in .NET Entwicklung |  Konferenzen at Thursday, September 13, 2007 4:29 PM W. Europe Daylight Time

Die ICE 2007 steht vor der Tür. Am kommenden Samstag, den 15.09.07 findet die Community Konferenz ICE 2007 in Lingen statt. Es gibt viele hochinteressante Vorträge (s. Agenda)!

Um uns die Wartezeit zu verkürzen hat Nicki einen zweiten ICE Trailer online gestellt.

Man sieht sich auf der ICE! :-)

 

Die .NET Developer Group Braunschweig trifft sich zu ihrem 12 User Group Treffen am 17.09.07 um 19:00 im Restaurant Flair.

 

Florian Mätschke wird eine Einführung über die neue Microsoft Umgebung Expression Studio halten: 

 

Microsoft Expression Studio ist die neue Suite für die Designer. Der Vortrag soll eine Übersicht und Klarheit über die neuen Tools von Microsoft verschaffen. Dazu gibt es jede Menge Live-Demos.

 

 

Hierzu haben wir ein spontanes Überraschungssponsoring von Microsoft erhalten, lasst Euch überraschen ;-) (Vielen Dank an Kay Giza und Steffen Ritter)

 

Des Weiteren verlosen wir noch das XTOPIA Gewinnspiel. Hier zu noch eine kleine Anmerkung: Wir verlosen nun zwei XTOPIA Karten nicht nur eine.

 

Weitere Infos unter www.dotnet-braunschweig.de .

 

Wie immer ist jeder herzlich willkommen!

Mein Blog ist umgezogen!

Posted in Allgemein at Tuesday, September 11, 2007 12:06 PM W. Europe Daylight Time

Nachdem ich mir eine eigene Domain zugelegt habe, ist nun mein Blog unter dieser URL zu finden:

http://blog.lars-keller.net

Windows Live Writer Beta 3 und x64 bit :(

Posted in Allgemein at Thursday, September 06, 2007 9:48 AM W. Europe Daylight Time

Ich habe mir gerade den neuen Live Writer Beta 3 runtergeladen. Nun habe ich in voller Vorfreude auf das Setup geklickt und danach große Augen bekommen:

wlivewriter_beta3  

Ich benutze Windows XP x64 bit und verstehe jetzt die Welt nicht mehr... Die letzte Beta lief einwandfrei, warum schließt Microsoft schon wieder Kunden aus?

Für Vista gibt es anscheinend einen Hack.

Ich kann das wirklich nicht verstehen, wenn wenigstens eine Begründung irgendwo stehen würde warum x64 bit Systeme plötzlich nicht mehr unterstützt werden. 

:(

Podcast - ASP.NET Teil 2 - Benutzerdefinierte Erweiterungen

Posted in .NET Entwicklung |  ASP.NET at Monday, September 03, 2007 3:26 PM W. Europe Daylight Time

Auf .NET Casts wurde gestern der zweite Teil der dreiteiligen ASP.NET Serie veröffentlicht. Themen des Podcasts:

User Controls
Entwicklung von Custom Controls
HTTP Handler
HTTP Module
und weitere Informationen

Weitere Infos: hier

Download: hier