thinkcell-API
- Startseite
- Ressourcen
- Benutzerhandbuch
- thinkcell-API
Unter Windows können Sie einige thinkcell-Funktionen über die thinkcell-API programmieren. Dieser Anhang enthält einen Überblick über alle verfügbaren API-Funktionen sowie allgemeine Anweisungen zum Einrichten Ihrer Entwicklungsumgebung, um Makros, Add-ins oder eigenständige Programme zu schreiben, die auf diese Funktionen zugreifen.
Erste Schritte mit der thinkcell-API
Die thinkcell-API ist in Microsofts Component Object Model (COM) integriert. Daher können Sie aus jeder Sprache auf die API zugreifen, mit der Sie Office programmieren können, z. B. Visual Basic for Applications (VBA) oder C#.
Der Einstiegspunkt in thinkcell ist das thinkcell-Add-in-Objekt. Darauf kann über die Sammlung Application.COMAddIns zugegriffen werden. Aufrufe an thinkcell sind immer spät gebunden, daher gibt es keine Typbibliothek und keinen Verweis, den Sie hinzufügen müssten. Eine Erläuterung der frühen und späten Bindung in Automation finden Sie unter Microsoft Learn.
Einige API-Funktionen sind Methoden des thinkcell-Add-in-Objekts in PowerPoint, andere API-Funktionen sind Methoden des thinkcell-Add-in-Objekts in Excel. Wir verwenden tcPpAddIn für Verweise auf das PowerPoint-Add-in und tcXlAddIn für Verweise auf das Excel-Add-in.
Visual Basic for Applications
Um Makros mit Visual Basic for Applications (VBA) zu schreiben, verwenden Sie die Entwicklungsumgebung, die in die Office-Hostanwendung integriert ist. Sie können darauf zugreifen, indem Sie Alt+F11 drücken. Die Definition eines Makros ist in der Regel in einem Modul enthalten, das Sie über Insert > Module hinzufügen können. Sie können alle für ein bestimmtes Dokument definierten Makros anzeigen, indem Sie Alt+F8 drücken.
Um anzugeben, dass Methodenaufrufe an das thinkcell-Add-in spät gebunden sind, müssen Sie die Variable, die den Verweis darauf enthält, als Object deklarieren:
Dim tcaddin As Object
Set tcaddin = Application.COMAddIns("thinkcell.addin").Object
Auf die Typbibliothek der Office-Hostanwendung wird standardmäßig immer verwiesen. Wenn Sie auf das Objektmodell einer anderen Office-Anwendung zugreifen müssen, müssen Sie deren Typbibliothek als Verweis hinzufügen.
Wenn Sie beispielsweise ein Makro in PowerPoint verwenden möchten, um Daten in einem Excel-Blatt zu bearbeiten, bevor Sie ein thinkcell-Diagramm daraus aktualisieren, müssen Sie die Microsoft Excel 16.0 Object Library manuell über das Dialogfeld Tools > References in der VBA-Entwicklungsumgebung hinzufügen.
Hinweis: 16.0 ist die Versionsnummer von Office 2016 und höher. Für Office 2013 müssen Sie die 15.0-Objektbibliothek verwenden. Wenn Sie mehrere Versionen von Office installiert haben, zeigt das Dialogfeld References nur die Objektbibliotheken der neuesten installierten Version an. Im Folgenden gehen wir davon aus, dass Sie Office 2016 oder höher verwenden.
Mit Application.COMAddIns("thinkcell.addin").Object erhalten Sie immer das thinkcell-Add-in-Objekt der aktuellen Office-Hostanwendung, also tcPpAddIn oder tcXlAddIn, je nachdem, ob Sie es in PowerPoint oder Excel verwenden. Um einen Verweis auf das Add-in-Objekt in der anderen Office-Anwendung zu erhalten und auf die von ihm bereitgestellten API-Funktionen zuzugreifen, beziehen Sie ihn über eine geeignete Anwendungsinstanz.
Beispiel: So erhalten Sie aus PowerPoint einen Verweis auf tcXlAddIn:
Dim xlapp As Object
Set xlapp = New Excel.Application
Dim tcXlAddIn As Object
Set tcXlAddIn = xlapp.COMAddIns("thinkcell.addin").Object
Beachten Sie, dass hierfür die Excel-Objektbibliothek als Verweis hinzugefügt werden muss.
Wir empfehlen die Verwendung der Anweisung Option Explicit, die die explizite Deklaration aller Variablen erzwingt. Dadurch werden häufige Programmierfehler vermieden und die von IntelliSense bereitgestellten Vorschläge verbessert. Sie können sie automatisch zu allen Modulen hinzufügen lassen, indem Sie Tools > Options > Code Settings > Require Variable Declaration aktivieren. Sie ist in allen unseren Codebeispielen enthalten.
C#
Sie können die thinkcell-API aus C# verwenden, wenn Sie Add-ins und Dokumentcode-Erweiterungen entwickeln, die innerhalb einer Office-Hostanwendung ausgeführt werden, sowie bei der Entwicklung eigenständiger Anwendungen.
Im Folgenden gehen wir davon aus, dass Sie Visual Studio 2017 oder höher verwenden, um Office-Lösungen in C# zu entwickeln. Genauere Einrichtungsanweisungen für die Add-in-Entwicklung finden Sie im nächsten Abschnitt. Bei jedem unserer Codebeispiele geben wir an, welche Visual Studio-Projektvorlage Sie verwenden sollen.
Um Methodenaufrufe an das thinkcell-Add-in-Objekt spät gebunden auszuführen, deklarieren Sie die Variable, die den Verweis auf das thinkcell-Add-in-Objekt enthält, als dynamic. Dies ist auch der Typ, den der Compiler ableitet, wenn der Verweis als var deklariert wird, sodass Sie einfach schreiben können:
var tcPpAddIn = ppapp.COMAddIns.Item("thinkcell.addin").Object;
Hier ist ppapp ein Verweis auf ein PowerPoint-Application-Objekt, in dem thinkcell geladen ist.
Um auf das Objektmodell einer Office-Anwendung zuzugreifen, müssen Sie entweder deren Typbibliothek oder deren Primary Interop Assembly (PIA) als Verweis zu Ihrem Projekt hinzufügen. Wir empfehlen, nach Möglichkeit die Typbibliothek hinzuzufügen, da Visual Studio automatisch einen Verweis auf die entsprechende PIA hinzufügt, sofern eine verfügbar ist, oder aus der Typbibliothek eine Interop Assembly generiert, falls keine vorhanden ist (siehe hier).
Um beispielsweise wie oben beschrieben den Verweis auf das thinkcell-Add-in-Objekt erhalten zu können, würden Sie die Microsoft PowerPoint 16.0 Object Library hinzufügen, die Sie im Dialogfeld Reference Manager auf der Registerkarte COM > Type Libraries finden. Je nach Projekttyp greifen Sie auf dieses Dialogfeld zu, indem Sie im Solution Explorer mit der rechten Maustaste auf References oder Dependencies klicken und Add (COM) Reference auswählen.
Hinweis: 16.0 ist die Versionsnummer von Office 2016 und höher. Wenn Sie die Option Embed Interop Types verwenden, die für einen Verweis auf eine COM-Typbibliothek standardmäßig aktiviert ist, ist eine mit diesem Verweis kompilierte Anwendung abwärts- (und vorwärts-)kompatibel mit anderen Office-Versionen, solange alle verwendeten Schnittstellen in deren Objektmodell vorhanden sind. Weitere Informationen finden Sie hier.
Die API-Funktionen von thinkcell melden Fehler mithilfe von COM-HRESULTs. Einige davon werden automatisch entsprechenden .NET-Ausnahmeklassen zugeordnet, siehe Vorgehensweise: HRESULTs und Ausnahmen zuordnen .
Add-in-Entwicklung
Um Add-ins für Office oder Code-Erweiterungen für Office-Dokumente zu entwickeln, verwenden Sie die Projektvorlagen PowerPoint/Excel VSTO Add-in und Excel VSTO Template/Workbook. Diese sind Teil der Office Developer Tools for Visual Studio, die als Teil der Standardkonfiguration installiert werden. Sollten diese Tools und Vorlagen in Ihrer Visual Studio-Installation nicht verfügbar sein, können Sie sie beispielsweise hinzufügen, indem Sie zu Settings⚙ > Apps > Visual Studio 2022 > Modify > Other Toolsets gehen, Office/SharePoint development aktivieren und auf Modify klicken. Siehe auch die Microsoft-Dokumentation hier und hier.
Die PIA für die Office-Hostanwendung der ausgewählten Vorlage wird standardmäßig immer geladen. Wenn Sie auf das Objektmodell einer anderen Office-Anwendung zugreifen müssen, müssen Sie deren Typbibliothek wie oben beschrieben als Verweis hinzufügen.
Hinweis: Die API von thinkcell kann nicht aus Office-Web-Add-ins verwendet werden – die von Microsoft inzwischen leider einfach „Office Add-ins“ genannt werden –, da diese nicht direkt mit dem Objektmodell der Office-Anwendung interagieren können und insbesondere nicht mit COM-Add-ins wie thinkcell.
API-Referenz
Unter Windows können Sie die folgenden APIs verwenden:
Automatisierung mit Excel-Daten
Aktualisieren Sie thinkcell-Elemente in einer PowerPoint-Vorlage automatisch mit Daten aus Excel. Weitere Informationen finden Sie unter Automatisierung mit Excel-Daten.
|
API |
Beschreibung |
Handbuchthema |
|---|---|---|
|
|
Erstellt eine Kopie einer PowerPoint-Vorlage und aktualisiert alle thinkcell-Elemente in der kopierten Präsentation, die mit einer Excel-Arbeitsmappe verknüpft sind |
|
|
|
Aktualisiert bestimmte thinkcell-Elemente in einer PowerPoint-Vorlage, unabhängig davon, ob sie mit Excel verknüpft sind |
|
|
|
Aktualisiert ein thinkcell-Element in einer PowerPoint-Vorlage mit Daten aus Excel. |
Stildateien
Laden, anzeigen und entfernen Sie thinkcell-Stildateien. Weitere Informationen finden Sie unter Stildateien.
|
API |
Beschreibung |
Handbuchthema |
|---|---|---|
|
|
Lädt eine Stildatei in einen Folienmaster oder ein Folienlayout |
|
|
|
Lädt eine Stildatei so, dass sie nur für einen bestimmten Bereich eines Folienlayouts gilt |
Formatdatei in einen Bereich des Layouts laden: LoadStyleForRegion |
|
|
Gibt den Namen der Stildatei zurück, die in einem Folienmaster oder Folienlayout aktiv ist |
|
|
|
Entfernt alle Stildateien aus einem Folienlayout |
Mekko Graphics-Diagramme
Importieren Sie Mekko Graphics-Diagramme in thinkcell und prüfen Sie sie. Weitere Informationen finden Sie unter Mekko Graphics-Diagramme importieren.
|
API |
Beschreibung |
Handbuchthema |
|---|---|---|
|
|
Ersetzt Mekko Graphics-Diagramme in PowerPoint durch thinkcell-Diagramme |
|
|
|
Extrahiert die XML-Definition eines Mekko Graphics-Diagramms |
Brauchen Sie Hilfe bei der Fehlerbehebung?
Besuchen Sie unsere Knowledge Base