Freigeben über


Verwenden von Business Connectivity Services und Visual Studio-Add-Ins zum Erstellen von PowerPoint-Diagrammen

Zusammenfassung:   Business Connectivity Services (BCS) in SharePoint 2010 ermöglicht Zugriff auf Daten, die in externen Systemen außerhalb von SharePoint 2010 gespeichert sind. Mit Visual Studio-Tools für Office (VSTO) werden Lösungen erstellt, die die Funktionen von Microsoft PowerPoint 2010 erweitern. In diesem Artikel wird erklärt, wie Sie mit VSTO ein Diagramm in PowerPoint 2010 einfügen oder aktualisieren können, das mit von BCS bereitgestellten Daten erstellt wurde. Das Ergebnis ist ein PowerPoint 2010-Diagramm, das Sie mühelos mit den neuesten Daten aus dem externen System aktualisieren können.

Letzte Änderung: Mittwoch, 30. Januar 2013

Gilt für: Business Connectivity Services | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio | Visual Studio Tools for Microsoft Office

Inhalt dieses Artikels
Übersicht
Erstellen des externen Inhaltstyps
Erstellen und Bereitstellen einer Datenlösung für den externen Inhaltstypen
Erklärung des VSTO-Add-Ins für PowerPoint
Testen des Add-Ins und Aktualisieren des Diagramms
Schlussbemerkung
Informationen zum Autor
Weitere Ressourcen

Veröffentlicht:   April 2011

Bereitgestellt von:   Bob McClellan

Inhalt

  • Übersicht

  • Erstellen des externen Inhaltstyps

  • Erstellen und Bereitstellen einer Datenlösung für den externen Inhaltstypen

  • Erklärung des VSTO-Add-Ins für PowerPoint

  • Testen des Add-Ins und Aktualisieren des Diagramms

  • Schlussbemerkung

  • Informationen zum Autor

  • Weitere Ressourcen

Klicken Sie hier, um den Code abzurufen  Code herunterladen (in englischer Sprache)

Video  Video anschauen (in englischer Sprache)

Übersicht

Grundlage dieses technischen Artikels ist ein Szenario, in dem ein Vertriebsleiter monatlich eine PowerPoint- 2010-Präsentation erstellen muss, um die Verkaufszahlen nach Gebiet darzustellen. Bisher hat der Vertriebsleiter die Zahlen aus einem standardisierten Bericht abgerufen und dann in ein Excel 2010-Arbeitsblatt eingegeben, das mit dem PowerPoint-Diagramm verknüpft war. Diese Methode ist zwar nicht allzu zeitaufwändig, aber fehleranfällig. Die Verkaufszahlen umfassen jeweils mindestens sechs Zahlen, und der Vertriebsleiter muss darauf achten, dass er jedem Gebiet die richtige Zahl zuordnet. Für seine Präsentation muss er mehrere Diagramme aktualisieren. In diesem Artikel wird aber nur ein solches Diagramm besprochen.

Damit der Vertriebsleiter die Präsentation direkt mit den Daten aktualisieren kann, müssen Sie die folgenden Schritte ausführen:

  1. Einen externen Inhaltstypen in SharePoint 2010 erstellen, der auf die vom Vertriebsleiter benötigten Daten zugreifen kann.

  2. Ein Datenlösungspaket erstellen, mit dem der externe Inhaltstyp in einem VSTO-Projekt (Visual Studio-Tools für Office) verfügbar gemacht wird.

  3. Die Datenlösung in einer Entwicklungsumgebung bereitstellen und die VSTO-Lösung für PowerPoint erstellen.

  4. Die Datenlösung und die VSTO-Lösung auf dem Computer des Vertriebsleiters bereitstellen.

  5. Die Lösung durch Erstellen und Aktualisieren des PowerPoint-Diagramms testen.

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes vorhanden ist:

  • Zugriff auf die SharePoint 2010-Zentraladministration, einschließlich Business Data Connectivity-Dienst (BDC).

  • Zugriff auf SharePoint Designer.

  • Eine SharePoint 2010-Webanwendung mit einer Websitesammlung. Weitere Informationen finden Sie unter Erstellen einer Websitesammlung (SharePoint Server 2010).

  • Zugriff auf Microsoft SQL Server.

    HinweisHinweis

    Sie können die gleiche Instanz von SQL Server verwenden, die auch von dem Computer mit SharePoint Server 2010 verwendet wird.

  • Eine Beispieldatenbank für SQL Server und Berechtigungen zum Ändern der Tabellen und Daten. (In den Beispielen in diesem Artikel wird AdventureWorks verwendet. Weitere Informationen zum Installieren dieser Beispieldatenbank finden Sie unter AdventureWorks 2008 R2 (in englischer Sprache).)

  • Microsoft Visual Studio 2010 Professional.

  • Microsoft PowerPoint 2010.

  • Microsoft Excel 2010.

Ein virtueller Computer, der alle diese Anforderungen erfüllt, 2010 Information Worker Demonstration and Evaluation Virtual Machine (RTM), steht auf der Microsoft-Website zum Download zur Verfügung. Wenn Sie diesen virtuellen Computer verwenden, können Sie die hier beschriebenen Schritte exakt nachvollziehen. Sie benötigen nur den virtuellen Computer "A".

Die Beispiele in diesem Artikel sind aussagekräftiger, wenn Sie Grundkenntnisse in einfachen SQL-Abfragen und -Ansichten haben. Darüber hinaus ist Grundwissen über XML vorteilhaft, weil Sie beim Durcharbeiten der Beispiele den XML-Code betrachten, der zum Definieren von BDC-Modellen verwendet wird.

Erstellen des externen Inhaltstyps

In diesem Abschnitt erstellen Sie den externen Inhaltstypen mithilfe von SharePoint Designer. Der externe Inhaltstyp definiert, welche Daten aus einem externen System verfügbar sind und wie diese verwendet werden können (z. B. nur schreibgeschützt oder mit Lese-/Schreibzugriff). Zum Erstellen des externen Inhaltstyps müssen Sie die folgenden Aufgaben ausführen:

  • Sicherstellen, dass die SharePoint-Webanwendung eine Verbindung mit Business Connectivity Services hat.

  • Den Business Data Connectivity-Dienst konfigurieren.

  • Den externen Inhaltstypen mithilfe der Tabelle SalesTerritory erstellen.

  • Eine externe Liste aus dem externen Inhaltstypen erstellen.

  • Den externen Inhaltstypen unter Verwendung der externen Liste testen.

Im ersten Schritt überprüfen Sie, ob die Webanwendung über eine Verbindung mit dem Business Data Connectivity-Dienst verfügt. Ist dies nicht der Fall, müssen Sie diese Verbindung erstellen.

So überprüfen Sie die Verbindungen der Webanwendung

  1. Starten Sie die SharePoint 2010-Zentraladministration.

  2. Klicken Sie unter Anwendungsverwaltung auf Webanwendungen verwalten.

  3. Wählen Sie die Webanwendung aus, die Sie für diese Beispiele verwenden möchten (z. B. Intranet).

  4. Klicken Sie auf dem Menüband auf Dienstverbindungen.

    Abbildung 1. Menüband für Webanwendungen

    Menüband für Webanwendungen

  5. Stellen Sie sicher, dass Business Data Connectivity-Dienst ausgewählt ist. Ist dies nicht der Fall, wählen Sie diesen Dienst aus, und klicken Sie dann auf OK. Wenn Sie den Business Data Connectivity-Dienst nicht auswählen können, verwenden Sie die Dropdownliste oben, um von Standard auf Benutzerdefinierte zuerst umzustellen.

    Abbildung 2. Dialogfeld für Verbindungen von Webanwendungen

    Webanwendungsverbindungen (Dialogfeld)

Als Nächstes konfigurieren Sie den Business Data Connectivity-Dienst. Sie müssen die erforderlichen Berechtigungen für den Zugriff auf die Daten über Ihr Konto festlegen.

So konfigurieren Sie den Business Data Connectivity-Dienst

  1. Starten Sie die SharePoint 2010-Zentraladministration.

  2. Klicken Sie unter Anwendungsverwaltung auf Dienstanwendungen verwalten.

  3. Klicken Sie in der Spalte Name auf Business Data Connectivity-Dienst.

    Abbildung 3. Die Liste zum Verwalten von Dienstanwendungen

    Verwalten von Dienstanwendungen (Liste)

  4. Klicken Sie auf dem Menüband in der Gruppe Berechtigungen auf Berechtigungen für den Metadatenspeicher festlegen.

  5. Wenn das zu verwendende Konto nicht in dem Dialogfeld angezeigt wird, geben Sie den Kontonamen in das Textfeld neben der Schaltfläche Hinzufügen ein.

  6. Klicken Sie auf Hinzufügen.

  7. Aktivieren Sie in der unteren Liste alle Kontrollkästchen (Bearbeiten, Ausführen, In Clients auswählbar und Berechtigungen festlegen).

  8. Aktivieren Sie das Kontrollkästchen Berechtigungen an alle BDC-Modelle, externen Systeme und externen Inhaltstypen im BDC-Metadatenspeicher weitergeben.

  9. Klicken Sie auf OK.

    Abbildung 4. Festlegen von Berechtigungen für Business Data Connectivity

    Festlegen von Berechtigungen für Business Data Connectivity

Im nächsten Schritt erstellen Sie einen externen Inhaltstypen für die Tabelle SalesTerritory aus der AdventureWorks-Datenbank. Diesen können Sie in einer beliebigen SharePoint-Website erstellen, ich empfehle jedoch, intranet.contoso.com zu verwenden. Sie verbinden den externen Inhaltstypen als ein externes System mit einem SQL Server und definieren dann die grundlegenden Vorgänge, die zum Lesen und Aktualisieren des externen Inhaltstyps benötigt werden. Alle diese Vorgänge können Sie sehr schnell mit SharePoint Designer erstellen.

So erstellen Sie den externen Inhaltstypen

  1. Öffnen Sie in Ihrem Webbrowser die SharePoint-Website, auf der Sie den externen Inhaltstypen erstellen möchten (z. B. http://intranet.contoso.com). Wählen Sie eine Website aus, auf der Sie eine externe Liste zum Testen des externen Inhaltstyps erstellen können. Klicken Sie in SharePoint Designer in der Dropdownliste Websiteaktionen für die SharePoint-Website auf Bearbeiten

  2. Klicken Sie im Navigationsbereich auf Externe Inhaltstypen.

  3. Klicken Sie auf dem Menüband in der Gruppe Neu auf Externer Inhaltstyp.

    Abbildung 5. Erstellen eines neuen externen Inhaltstyps

    Erstellen eines neuen externen Inhaltstyps

  4. Klicken Sie in der Gruppe Externe Inhaltstypinformationen neben Name auf Neuer externer Inhaltstyp. Geben Sie BCSSales ein, und drücken Sie die TAB-TASTE.

    Abbildung 6. Überblickansicht eines externen Inhaltstyps

    Zusammenfassungsansicht eines externen Inhaltstyps

  5. Klicken Sie neben Externes System auf Klicken Sie hier, um externe Datenquellen zur ermitteln und Vorgänge zu definieren.

  6. Klicken Sie auf die Schaltfläche Verbindung hinzufügen.

  7. Wählen Sie im Dialogfeld Auswahl des externen Datenquellentyps in der Dropdownliste die Option SQL Server aus.

  8. Klicken Sie auf OK.

  9. Geben Sie im Dialogfeld SQL Server-Verbindung im Feld Datenbankserver die Zeichenfolge localhost (oder den entsprechenden Servernamen) ein.

    Abbildung 7. Dialogfeld "SQL Server-Verbindung"

    SQL Server-Verbindung (Dialogfeld)

  10. Geben Sie im Feld Name den Namen AdventureWorks ein.

  11. Klicken Sie auf OK.

  12. Klicken Sie auf das Erweiterungssymbol neben AdventureWorks.

  13. Klicken Sie auf das Erweiterungssymbol neben Tabellen.

  14. Klicken Sie mit der rechten Maustaste auf SalesTerritory, und klicken Sie dann auf Alle Vorgänge erstellen.

    Abbildung 8. Datenquellen-Explorer für einen externen Inhaltstypen

    Datenquellen-Explorer für einen externen Inhaltstyp

  15. Klicken Sie unten im Dialogfeld Alle Vorgänge auf die Schaltfläche Fertig stellen.

  16. Speichern Sie den exernen Inhaltstypen (klicken Sie auf das Festplattensymbol über der Registerkarte Datei). Ein Dialogfeld mit einer Fortschrittsanzeige wird angezeigt. Das Speichern des externen Inhaltstyps kann einige Minuten in Anspruch nehmen.

Für das aktuelle Beispiel werden zwar die Vorgänge Erstellen, Aktualisieren und Löschen nicht verwendet, aber Sie kommen am schnellsten voran, wenn Sie alle Vorgänge erstellen. Sie könnten auch die Felder beschränken, die aus dem externen System zur Verfügung stehen. SharePoint Designer schließt standardmäßig alle Felder in die Tabelle ein. Da für die Tabelle ein primärer Schlüssel definiert ist, verwendet SharePoint Designer diesen standardmäßig als den Bezeichner für den externen Inhaltstypen. Wie Sie sehen, erlaubt SharePoint Designer ein schnelles Erstellen des externen Inhaltstyps, ermöglicht aber auch spezielle Anpassungen, falls erforderlich.

Im letzten Schritt erstellen Sie eine externe Liste, um den externen Inhaltstypen zu testen.

So erstellen und testen Sie eine externe Liste für Vertriebsmitarbeiter

  1. Klicken Sie auf dem Menüband auf Liste und Formular erstellen.

  2. Geben Sie im Textfeld Listenname den Namen Gebiete ein, und klicken Sie auf OK. Es kann ein bis zwei Minuten dauern, bis dieser Vorgang abgeschlossen ist.

  3. Öffnen Sie einen Webbrowser für die Website, auf der Sie die externe Liste erstellt haben. Sie können den Browser verwenden, in dem Sie auch SharePoint Designer geöffnet haben, aber Sie müssen den Browser aktualisieren. Der Listenname, Gebiete, befindet sich im Navigationsbereich für die Website. Klicken Sie darauf, um eine Liste aller Gebiete mit den zugehörigen Verkaufszahlen einzublenden.

    Abbildung 9. Externe Liste, die einen externen Inhaltstyp verwendet

    Externe Liste, die einen externen Inhaltstyp verwendet

     

    Damit ist das Erstellen und Testen des externen Inhaltstyps abgeschlossen.

Erstellen und Bereitstellen einer Datenlösung für den externen Inhaltstypen

Es gibt mehrere Möglichkeiten, eine Datenlösung für einen externen Inhaltstypen bereitzustellen. Im aktuellen Beispiel erstellen Sie ein Datenlösungspaket mithilfe des Tools zum Packen von BCS-Lösungen und des BCS Artifact Generator-Tools. Diese Tools müssen Sie von der Microsoft-Website herunterladen (sie sind nicht im virtuellen Computer enthalten). Zum Erstellen und Bereitstellen einer Lösung führen Sie die folgenden Schritte aus:

  • Generieren Sie ein BDC-Modell für den externen Inhaltstypen in SharePoint Designer.

  • Erstellen Sie mithilfe des Artifact Generator-Tools eine Abonnementdatei für den externen Inhaltstypen.

  • Verwenden Sie das Tool zum Packen von BCS-Lösungen, um eine Datenlösung zu erstellen.

  • Führen Sie die Datenlösung aus.

So erstellen Sie eine Datenlösung für den externen Inhaltstypen SalesTerritory und stellen diese bereit

  1. Klicken Sie in SharePoint Designer im Navigationsbereich auf Externe Inhaltstypen.

  2. Wählen Sie in der Liste der externen Inhaltstypen BCSSales aus. Klicken Sie dazu auf eine beliebige Stelle in der Zeile, aber nicht auf den Namen, dadurch würde die Überblickansicht für den externen Inhaltstypen geöffnet.

  3. Klicken Sie auf dem Menüband auf BDC-Modell exportieren.

  4. Im nun angezeigten Dialogfeld werden Sie aufgefordert, im Feld Name des BDC-Modells einen Namen einzugeben. Geben Sie BCSSales ein, und klicken Sie auf OK.

  5. Das nächste Dialogfeld ist ein standardmäßiges Dialogfeld Datei speichern. Speichern Sie das Modell in einem neuen, leeren Ordner. Am besten erstellen Sie innerhalb des Ordners Eigene Dateien einen Ordner mit einem einfachen Namen wie etwa Paket und darin wiederum einen Unterordner namens Quelle.

  6. Geben Sie im Feld Dateiname die Bezeichnung Metadaten ein, und klicken Sie auf Speichern.

    Wichtiger HinweisWichtig

    Sie müssen dieser Datei den Namen Metadaten geben.

  7. Starten Sie das BCS Artifact Generator-Tool.

  8. Geben Sie im Feld Lösungsname die Bezeichnung BCSPowerPointAddin ein.

  9. Klicken Sie auf die Schaltfläche Modell importieren..., navigieren Sie zu der exportierten Datei Metadaten, und klicken Sie auf Öffnen. Das Modell wird importiert und überprüft. Klicken Sie auf Weiter.

    Abbildung 10. BCS Artifact Generator-Tool

    BCS Artifact Generator

  10. Klicken Sie auf Artefakte generieren, um das Abonnement zu erstellen. Die Abonnementdatei wird in einem anderen Ordner erstellt. Kopieren oder verschieben Sie die Abonnementdatei in den Ordner Quelle mit der Datei Metadaten. Sie müssen u. U. den Link Artefakteordner öffnen verwenden, um die generierte Datei zu finden. Klicken Sie auf Fertig stellen.

  11. Starten Sie das Tool zum Packen von BCS-Lösungen.

  12. Geben Sie im Feld Lösungsname die Bezeichnung BCSPowerPointAddin ein.

  13. Wählen Sie im Feld Lösungstyp die Option Datenlösung für Office-Add-In aus.

  14. Klicken Sie bei Pfad des Quellordners auf die Schaltfläche Durchsuchen, um den Ordner zu finden, in dem Sie das BDC-Modell gespeichert und das Abonnement erstellt haben.

  15. Klicken Sie für Pfad des Ausgabeordners auf die Schaltfläche Durchsuchen, um einen leeren Ordner für die Datenlösung zu finden. Am besten erstellen Sie im oben erstellten Ordner Paket einen Unterordner namens Ausgabe.

  16. Klicken Sie auf die Schaltfläche Packen, um das Paket zu generieren.

  17. Klicken Sie auf die Schaltfläche Bereitstellen, um die Lösung bereitzustellen. Folgen Sie den Installationsanweisungen. Es sollte eine Meldung angezeigt werden, wonach die Installation erfolgreich ausgeführt wurde.

    Abbildung 11. Tool zum Packen von BCS-Lösungen

    Tool zum Packen von BCS-Lösungen

Für das aktuelle Beispiel haben Sie die Lösung auf dem gleichen Computer bereitgestellt. Wenn Sie das erstellte Paket auf anderen Computern installieren, könnten diese Computer über den SharePoint-Server auf die Daten für den externen Inhaltstypen zugreifen.

Erklärung des VSTO-Add-Ins für PowerPoint

In diesem Abschnitt wird das C#-Programm beschrieben, das in diesem Artikel verwendet wird. Dabei wird nicht erklärt, wie Sie das Programm von Anfang an erstellen, und es wird nicht der gesamte Code gezeigt.

Wenn die Details des C#-Codes für Sie weniger von Belang sind, können Sie mit dem Abschnitt über das Testen und Aktualisieren des Diagramms fortfahren.

Das Add-In ist nicht sehr komplex, kann aber die meisten externen in SharePoint definierbaren Inhaltstypen behandeln, ohne dass Sie den Code ändern müssen. Der Code umfasst drei Hauptteile. Der erste Teil fügt dem PowerPoint-Menüband eine neue Gruppe und eine Schaltfläche hinzu. Im zweiten Teil wird ein Aufgabenbereich zum Abrufen der Informationen, welcher externe Inhaltstyp für das Diagramm verwendet werden soll und welche Datenelemente aus dem externen Inhaltstypen für die Reihen- oder X-Werte des Diagramms verwendet werden sollen, erstellt und angezeigt. Der dritte Teil fügt das Diagramm in PowerPoint ein oder aktualisiert es.

Erweitern des Menübands

Die Datei ribbon.xml enthält die Definition der zusätzlichen Elemente, die auf dem PowerPoint-Menüband angezeigt werden. Wenn Sie diese Datei selbst erstellt haben, könnten Sie den Menüband-Designer verwenden, anstatt XML-Code zu schreiben. Die Ergebnisse wären aber die gleichen.

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui"
    onLoad="Ribbon_Load">
  <ribbon>
    <tabs>
      <tab id="tabBCS" label="BCS">
        <group id="grpBCS" label="BCS">
          <button id="btnBCS"
        size="large"
        imageMso="MeetingsWorkspace"
        enabled="true"
        visible="true"
         
        label="Add External Data to Chart" onAction="OnClick"/>

        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Mit diesem Code wird eine Registerkarte mit einer einzigen Gruppe namens BCS definiert, die eine einzige Schaltfläche mit der Bezeichnung Externe Daten zu Diagramm hinzufügen enthält. Es gibt zwei Links zum C#-Code. Beim ersten Laden des Menübands wird die Ribbon_Load-Rückrufmethode aufgerufen. Wird auf die Schaltfläche geklickt, dann wird die OnClick-Rückrufmethode aufgerufen. Beide Methoden finden Sie in ribbon.cs. Ribbon_Load ist eine einzige Zeile, die eine Membervariable für das soeben geladene Menüband festlegt. OnClick erstellt den Aufgabenbereich und zeigt ihn an.

public void OnClick(Office.IRibbonControl ctrl)
{
  CustomTaskPane taskpane;
  if (TaskPaneLookup.ContainsKey(
        Globals.ThisAddIn.Application.ActivePresentation))
    taskpane = TaskPaneLookup[
        Globals.ThisAddIn.Application.ActivePresentation];
  else
  {
    taskpane = Globals.ThisAddIn.CustomTaskPanes.Add(
      new BCSChartInfo(), "ChartInfo");
    TaskPaneLookup[Globals.ThisAddIn.Application.ActivePresentation] =
      taskpane;
    taskpane.VisibleChanged += new 
      EventHandler(taskpane_VisibleChanged);
    taskpane.Visible = true;
    taskpane.Width = 350;
    BCSChartInfo ChartInfo = taskpane.Control as BCSChartInfo;
    ChartInfo.m_InsertChart += Globals.ThisAddIn.OnInsertChart;
    ChartInfo.m_UpdateChart += Globals.ThisAddIn.OnUpdateChart;
    ChartInfo.PopulateControls();
  }
}

Dieser Code referenziert das Objekt, nämlich BCSChartInfo. Dies ist der benutzerdefinierte Aufgabenbereich, in dem Sie den externen Inhaltstypen und die für das Diagramm zu verwendenden Daten auswählen. Im nächsten Abschnitt wird erklärt, wie der Aufgabenbereich auf die Informationen zum externen Inhaltstypen zugreift.

Der benutzerdefinierte Aufgabenbereich

Der Code für den benutzerdefinierten Aufgabenbereich ist in den BCSChartInfo-Dateien enthalten (CS, DESIGNER.CS und RESX). Wenn Sie verstehen wollen, wie BCS verwendet wird, ist BCSChartInfo.cs die interessanteste dieser Dateien. Der überwiegende Teil dieses Codes ist einfach zu verstehen. Dennoch erkläre ich jede einzelne Methode und zeige ein paar wesentliche Codeabschnitte aus dieser Datei.

Die btnInsert_Click-Methode verarbeitet die Schaltfläche im Aufgabenbereich, über die eine neue Folie mit einem Diagramm eingefügt wird. Sie findet den ausgewählten externen Inhaltstyp, der im Code als Entity bezeichnet wird, ruft die GetChartDataObject-Methode zu Abrufen der entsprechenden Daten auf und löst dann das Ereignis aus, das das Diagramm tatsächlich einfügt.

Die unten gezeigte GetChartDataObject-Methode findet die ausgewähte Entität (externer Inhaltstyp), dann die entsprechenden Daten für den ausgewählten Reihenwert und füllt diese Daten dann in das ChartDataObject-Objekt. Anschließend wird das Objekt verwendet, um das Diagramm tatsächlich zu erstellen, wie im nächsten Abschnitt gezeigt. Über den Aufgabenbereich können Sie mehrere X-Werte für jeden Reihenwert auswählen. Diese werden alle im ChartDataObject festgelegt, indem die Daten aus der Entität durchlaufen werden.

private ChartDataEventArgs GetChartDataObject(IEntity entity)
{
    ChartDataObject chartObject = new ChartDataObject();
    chartObject.Data = EntityDataLookup[entity];
    chartObject.Entity = ectList.SelectedItem as IEntity;
    chartObject.SeriesName = seriesList.SelectedItem as string;
    chartObject.XValues = new string[chkCategories.CheckedItems.Count];

    int counter = 0;
    foreach (string item in chkCategories.CheckedItems)
    {
        chartObject.XValues[counter] = item;
        counter++;
    }
    ChartDataEventArgs args = new ChartDataEventArgs();
    args.ChartDataObject = chartObject;
    return args;
}

Die PopulateControls-Methode richtet die möglichen Werte im Aufgabenbereich ein. Sie durchsucht alle verfügbaren Entitäten (externe Inhaltstypen), und diese Liste wird für die erste Dropdownlisten-Auswahl festgelegt. Die Daten, die aus dieser Entität verfügbar sind, werden ebenfalls gespeichert, sodass die anderen Dropdownlisten im Aufgabenbereich schnell gefüllt werden können, wenn ein bestimmter externer Inhaltstyp ausgewählt wird. Im Folgenden die wichtigsten Anweisungen, mit denen die externen Daten abgerufen werden.

InstanceEnumerator = entity.FindFiltered(
    entity.GetDefaultFinderFilters(),
    entity.GetMethodInstances(MethodInstanceType.Finder)[0].Value.Name,
    entity.GetLobSystem().GetLobSystemInstances()[0].Value,
    OperationMode.Online);
System.Data.DataTable dt = 
    Catalog.Helper.CreateDataTable(InstanceEnumerator);

Die erste Methode fordert eine Finder-Methode für die Entität bzw. den externen Inhaltstypen an. Dies ist der Read List-Vorgang, den Sie in SharePoint Designer definiert haben. Die Methode wird ausgeführt, und das Ergebnis wird in der InstanceEnumerator-Variablen gespeichert. Anhand dieses Ergebnisses wird dann ein DataTable-Objekt erstellt, mit dem auf einfachere Weise auf die resultierenden Daten zugegriffen werden kann.

Die comboBox1_SelectedIndexChanged-Methode aktualisiert die ausgewählten Reihen und Datenkategorien auf der Grundlage des ausgewählten externen Inhaltstyps.

Die btnUpdate_Click-Methode ist mit der insert-Methode nahezu identisch, abgesehen davon, dass sie ein Ereignis auslöst, das versucht, das ausgewählte Diagramm zu aktualisieren.

Einfügen oder Aktualisieren des PowerPoint-Diagramms

Die Update- und die Insert-Methode werden in ThisAddIn.cs definiert. Beide verwenden die Objekte des Microsoft Office-Dokumentobjektmodells zur Ausführung der Vorgänge. Sie werden vielleicht bemerken, dass die Update-Methode nur ein ausgewähltes Diagramm aktualisiert. Das ist eine einfache Möglichkeit um sicherzustellen, dass durch Aktualisieren das richtige Diagramm aktualisiert wird. Die Update-Methode ruft außerdem die AssignExternalDataToChart-Methode zum Festlegen der aktualisierten Daten auf. Die Daten aus dem externen Inhaltstypen wurden bereits in das ChartDataObject-Objekt geladen, wie im vorherigen Abschnitt gezeigt.

Testen des Add-Ins und Aktualisieren des Diagramms

Suchen Sie die Visual Studio-Projektmappe im ersten Ordner des Beispielcodes heraus. Öffnen Sie sie in Visual Studio, und drücken Sie dann F5, um die Lösung zu erstellen und zu starten. Anschließend können Sie das Diagramm einfügen.

So fügen Sie mithilfe des Add-Ins ein PowerPoint-Diagramm ein

  1. Klicken Sie auf die Registerkarte BCS.

  2. Klicken Sie auf dem Menüband auf die Schaltfläche Externe Daten zu Diagramm hinzufügen.

  3. Auf der rechten Seite wird der Aufgabenbereich ChartInfo angezeigt. Wählen Sie für Externer Inhaltstyp die Option BCSSales aus.

  4. Wählen Sie Name als den Namen der Reihe aus.

  5. Wählen Sie SalesYTD und SalesLastYear als Kategorien aus.

  6. Klicken Sie im Aufgabenbereich auf die Schaltfläche Diagramm einfügen. Warten Sie eine Minute, bis die Folie und das Diagramm eingefügt worden sind.

  7. Speichern Sie die Präsentation, und schließen Sie PowerPoint.

    Abbildung 12. Eingefügtes Diagramm in PowerPoint

    Eingefügtes Diagramm in PowerPoint

Beachten Sie, dass in diesem Beispiel immer ein Liniendiagramm erstellt wird. Sie können den Code ändern, das ist aber in der Regel nicht notwendig. Beispielsweise könnten Sie ein weiteres Diagramm einfügen, in dem nur die Kategorie SalesYTD verwendet wird, und dieses dann in ein Balkendiagramm umwandeln.

Abbildung 13. In ein Balkendiagramm konvertiert

Konvertiert in ein Balkendiagramm

 

Im letzten Teil des Tests werden die Daten aktualisiert, und anschließend wird das Diagramm entsprechend aktualisiert. Die folgende UPDATE-SQL-Anweisung löst Änderungen des SalesYTD-Werts für das Gebiet Kanada aus. Sie können diesen Vorgang mithilfe von Microsoft SQL Server Management Studio ausführen.

UPDATE d SET UnitPriceDiscount = 0.12
FROM Sales.SalesOrderDetail d JOIN Sales.SalesOrderHeader h
  ON d.SalesOrderID = h.SalesOrderID
WHERE h.TerritoryID = 6 AND d.UnitPriceDiscount = 0

So aktualisieren Sie ein PowerPoint-Diagramm mithilfe des Add-Ins

  1. Starten Sie PowerPoint, und laden Sie die zuvor gespeicherte Präsentation.

  2. Klicken Sie auf die Folie, die das Diagramm enthält, und klicken Sie dann auf das Diagramm, um es auzuwählen.

  3. Klicken Sie auf die Registerkarte BCS.

  4. Klicken Sie auf die Schaltfläche Externe Daten zu Diagramm hinzufügen.

  5. Auf der rechten Seite wird der Aufgabenbereich ChartInfo angezeigt. Wählen Sie für Externer Inhaltstyp die Option BCSSales aus.

  6. Wählen Sie Name als den Namen der Reihe aus.

  7. Wählen Sie SalesYTD und SalesLastYear als Kategorien aus.

  8. Klicken Sie im Aufgabenbereich auf die Schaltfläche Vorhandenes Diagramm aktualisieren. Warten Sie einen Moment, bis das Diagramm aktualisiert worden ist. (Nur die Zeile für Kanada ändert sich.)

Abbildung 14. Aktualisiertes Diagramm in PowerPoint

Aktualisiertes Diagramm in PowerPoint

 

Sobald Sie die Datenlösung und dieses Add-In auf dem Computer des Vertriebsleiters bereitgestellt haben, kann dieser das Präsentationsdiagramm mit ein paar Mausklicks problemlos aktualisieren.

Schlussbemerkung

Wie schon erwähnt, können Sie das gleiche Add-In auch für andere externe Inhaltstypen verwenden. Sie brauchen nur eine Datenlösung für jeden zu verwendenden externen Inhaltstypen zu erstellen und bereitzustellen, wie weiter oben beschrieben.

Ebenso können Sie den Code mühelos mit mehr Optionen für den Aufgabenbereich erweitern. Beispielsweise können Sie den Typ des Diagramms hinzufügen (Balken-, Linien-, Tortendiagramm usw.). Sie können mehrere Folien erstellen, indem Sie die gleichen oder andere externe Inhaltstypen verwenden, und diese durch Auswählen des jeweiligen Diagramms und der geeigneten Optionen aktualisieren.

Das Beispiel in diesem technischen Artikel veranschaulicht, wie selbst ein ganz einfaches VSTO-Add-In, das BCS verwendet, leistungsstarke und wiederverwendbare Funktionen anbieten kann.

Informationen zum Autor

Bob McClellan entwickelt bereits seit fast 30 Jahren Anwendungen, meistens für Datenbanksysteme. Zuletzt hat er an Power Tools for Open XML (in englischer Sprache) mitgearbeitet, einer Serie von Windows PowerShell-Cmdlets zum Ändern von Open XML-Dokumenten. Bob McClellan besitzt umfangreiche Programmiererfahrung in einer Vielzahl von Computersprachen, Datenbanksystemen und Entwicklungsumgebungen.

Weitere Ressourcen

Weitere Informationen finden Sie in den folgenden Ressourcen: