• Narrow screen resolution
  • Wide screen resolution
  • Decrease font size
  • Default font size
  • Increase font size
Home arrow Newscorner arrow Microsoft Dynamics CRM arrow CRM 4.0 in Word 2007 - Teil 2 User Interface
CRM 4.0 in Word 2007 - Teil 2 User Interface E-Mail
Freitag, 18. April 2008

Nachdem wir im ersten Teil die Requirements abgehandelt hatten, kommen wir nun zum ersten echten Arbeitsschritt, dem Design des AddIns.

Als kurze Erklärung, es gibt mehrere Varianten, in Office Produkte zu integrieren...

Screenshot Visual Studio 2008 Projektauswahl

Wie das Bild zeigt (Visual Studio 2008 mit den Out-of-the-box integrierten VSTO Templates), gibt es eine große Auswahl an Templates zur Integration in eine breite Palette an Microsoft Office Produkten.

Wir werden ein sogenannten WordDocument Template verwenden, das die Logik an ein konkretes Dokument bindet und auch nur in diesem Dokument verfügbar ist. Darüber hinaus finden sich noch sogenannten AddIns, die jegliche Logik an Word binden, sprich bei jedem Öffnen von Word zur Verfügung stehen. Als weiteren Typ finden wir noch die sogenannten Templates, die in Vorlagen eingebettet werden (und aus diesen in einem weiteren Schritt man das eigentliche Dokument generiert).

Wie schon erwähnt, werden wir ein WordDocument verwenden, da wir nur ein bestimmtes Dokument mit Logik ausstatten wollen. Bei Rechnungen, Lieferscheinen, Bestätigungen, etc. wird sinnvollerweise das der Typ Template verwendet.

Folgende Schritte führen uns zu einer funktionstüchtigen GUI:

1. Schritt: Template auswählen (Word Document)

2. Schritt: GUI erstellen, Im Visual Studio Projekt fügen Sie ein neues Element hinzu und zwar verwenden wir ein UserControl. Dieses UserControl bietet uns Platz um Eingabe/Ausgabe/Kommando-Elemente zu platzieren, damit der Benutzer mit dem AddIn interagieren kann. Ich habe als Layout folgendes zusammengebastelt:

image

Der Einfachheit halber können Sie die Standard-Windows-Forms verwenden, natürlich könnten Sie auch eine WPF (Windows Presentation Foundation) Applikation erstellen.

3. Schritt: Bei Auswahl des Templates wird für das Zieldokument eine Klasse (ThisDocument.cs) erstellt, die sozusagen die Schnittstelle zwischen dem Worddokument und meinem AddIn darstellt. Dieser Klasse muss ich mitteilen, dass ich eine Form (das UserControl1) anzeigen lassen möchte.

In der Klasse ThisDocument.cs werden automatisch eine Methode die aufgerufen wird wenn das Dokument geöffnet und eine wenns geschlossen wird, eingefügt (die beide durch entsprechende Listener aufgerufen werden).

In die Methode die fürs Startup zuständig ist, fügen wir den Teil ein, der das UserControl anzeigt:

private void ThisDocument_Startup(object sender, System.EventArgs e)
{
    myUserControl1 = new UserControl1();
    this.ActionsPane.Controls.Add(myUserControl1);
    this.ActionsPane.Visible = true;
    this.ActionsPane.Width = 250;
}

4. Schritt: Um dem AddIn etwas Leben einzuhauchen, müssen die verwendeten Controls mit Aktivitäten "befüllt" werden :-). Ich setze mal voraus, wie ein Button durch hinzufügen des entsprechenden Listeners (im Visual Studio nur ein Doppel-Klick ;-)) gesteuert werden kann.


private void button1_Click(object sender, EventArgs e)
{
       // do something here
}

this.button1.Click += new System.EventHandler(this.button1_Click);

Nachdem wir nun eine GUI mit Buttons, etc. erstellt haben und diese auch schon entsprechend auf Ereignisse reagieren kann, widmen wir uns im nächsten Teil der Kontaktaufnahme mit dem WebService.

____________________________________

Christian Hrubesch, Microsoft Dynamics


Originalartikel
 

Deutsch      English