API think-cell

Sous Windows, vous pouvez programmer certaines fonctions think-cell via l’API think-cell. Cette annexe contient une présentation de toutes les fonctions API disponibles, ainsi que des instructions générales sur la configuration de votre environnement de développement pour écrire des macros, des compléments ou des programmes autonomes pouvant y accéder.

Découvrez l’API think-cell

Windows uniquement

L’API think-cell est intégrée au modèle d’objet composant (COM) de Microsoft, vous pouvez donc accéder à l’API à partir de tout langage capable de piloter Office, tel que Visual Basic for Applications (VBA) ou C#.

Le point d’entrée dans think-cell est l’objet complément think-cell, accessible via la collection Application.COMAddIns. Les appels à think-cell sont toujours à liaison tardive et il n’existe donc aucune bibliothèque ou référence de types à ajouter. Pour une explication des liaisons anticipées et tardives dans Automation, consultez Microsoft Learn.

Certaines fonctions API sont des méthodes d’objet complément think-cell dans PowerPoint et d’autres fonctions API sont des méthodes de l’objet complément think-cell dans Excel. Nous utilisons tcPpAddIn comme références au complément PowerPoint et tcXlAddIn comme références au complément Excel.

Visual Basic for Applications

Pour écrire des macros à l’aide de Visual Basic for Applications (VBA), vous utilisez l’environnement de développement intégré dans l’application hôte Office. Vous pouvez y accéder en appuyant sur Alt+F11. La définition d’une macro est généralement contenue dans un module, que vous pouvez ajouter via Insert > Module. Vous pouvez consulter toutes les macros définies pour un document donné en appuyant sur Alt+F8.

Pour indiquer que les appels de méthode au complément think-cell sont à liaison tardive, vous devez définir la variable comprenant la référence comme Object :

Dim tcaddin As Object 
Set tcaddin = Application.COMAddIns("thinkcell.addin").Object

La bibliothèque de types pour l’application hôte Office est toujours référencée par défaut. Si vous avez besoin d’accéder au modèle d’objet d’une autre application Office, vous devez ajouter sa bibliothèque de types comme référence.

Par exemple, si vous souhaitez utiliser une macro dans PowerPoint pour modifier des données dans une feuille Excel avant de mettre à jour un graphique think-cell à partir de ces dernières, vous devez ajouter manuellement la Microsoft Excel 16.0 Object Library via la boîte de dialogue Tools > References dans l’environnement de développement VBA.

Remarque : 16.0 est le numéro de version d’Office 2016 et des versions ultérieures. Pour Office 2013, vous devez utiliser la bibliothèque d’objets 15.0. Si vous avez plusieurs versions d’Office installées, la boîte de dialogue References affichera uniquement les bibliothèques d’objets de la dernière version installée. Nous supposerons pour ce qui suit que vous utilisez Office 2016 ou une version ultérieure.

L’utilisation de Application.COMAddIns("thinkcell.addin").Object vous permettra toujours d’obtenir l’objet complément think-cell de l’application hôte Office actuelle, c’est-à-dire tcPpAddIn ou tcXlAddIn, en fonction de si vous l’utilisez dans PowerPoint ou Excel. Veillez à acquérir une instance d’application appropriée pour acquérir une référence à l’objet complément dans l’autre application Office et accéder aux fonctions API qu’il expose.

Par exemple, pour acquérir une référence à tcXlAddIn depuis PowerPoint :

Dim xlapp As Object
Set xlapp = New Excel.Application

Dim tcXlAddIn As Object
Set tcXlAddIn = xlapp.COMAddIns("thinkcell.addin").Object

Veuillez remarquer que cela nécessite d’ajouter la bibliothèque d’objets d’Excel comme référence.

Nous recommandons d’utiliser la déclaration Option Explicit, qui force la déclaration explicite de toutes les variables et d’aider ainsi à éviter des erreurs de programmation courantes et à améliorer les suggestions fournies par IntelliSense. Vous pouvez l’ajouter automatiquement à tous les modules en activant Tools > Options > Code Settings > Require Variable Declaration. Elle est incluse dans tous nos exemples de codes.

C#

Vous pouvez utiliser l’API think-cell à partir de C# lorsque vous développez des compléments et des extensions de codes de documents qui s’exécutent dans une application d’hôte Office, et lorsque vous développez des applications autonomes.

Nous supposerons pour ce qui suit que vous utilisez Visual Studio 2017 ou une version ultérieure pour développer les solutions Office dans C#. Veuillez vous référer à la section suivante pour obtenir des instructions d’installation plus précises concernant le développement de compléments. Nous indiquerons pour chacun de nos exemples de codes le modèle de projet Visual Studio utilisé.

Pour effectuer des appels de méthode à l’objet complément think-cell à liaison tardive, définissez la variable contenant la référence à l’objet complément think-cell comme dynamic. Il s’agit également du type déduit par le compilateur lorsque vous définissez la référence comme var, alors vous pouvez simplement écrire :

var tcPpAddIn = ppapp.COMAddIns.Item("thinkcell.addin").Object;

Ici, ppapp est une référence à un objet Application PowerPoint dans lequel think-cell est chargé.

Pour accéder au modèle d’objet d’une application Office, vous devez ajouter sa bibliothèque de types ou son assembly PIA (Primary Interop Assembly) comme référence à votre projet. Nous recommandons d’ajouter, si possible, la bibliothèque de types, étant donné que Visual Studio ajoutera automatiquement une référence à la PIA correspondante si celle-ci est disponible, ou générera un assembly d’interopérabilité à partir de la bibliothèque de types si aucune n’est disponible (voir ici).

Par exemple, pour pouvoir obtenir la référence à un objet complément think-cell comme ci-dessus, nous devrions ajouter la Microsoft PowerPoint 16.0 Object Library située dans l’onglet COM > Type Libraries de la boîte de dialogue Reference Manager. Selon votre type de projet, vous pouvez accéder à cette boîte de dialogue en effectuant un clic droit sur References ou Dependencies dans le Solution Explorer et en sélectionnant Add (COM) Reference.

Remarque : 16.0 est le numéro de version d’Office 2016 et des versions ultérieures. En utilisant l’option Embed Interop Types, qui est activée par défaut pour une référence à la bibliothèque de types COM, une application compilée avec cette référence sera rétrocompatible et postcompatible avec les autres versions d’Office, aussi longtemps que toutes les interfaces utilisées existent dans leur modèle d’objet. Pour plus d’informations, voir ici.

Les fonctions API de think-cell indiquent les erreurs en utilisant des HRESULT COM. Certaines d’entre elles sont automatiquement mappées dans les classes d’exception .NET correspondantes, voir Comment : mapper des HRESULT et des exceptions .

Développement de compléments

Pour développer des compléments pour Office ou des extensions de codes pour des documents Office, vous utilisez les modèles de projet PowerPoint/Excel VSTO Add-in et Excel VSTO Template/Workbook. Ces derniers font partie des Office Developer Tools for Visual Studio qui sont installés dans la configuration par défaut. Dans le cas où ces outils et modèles ne seraient pas disponibles dans votre installation Visual Studio, vous pouvez les ajouter, par exemple, en vous rendant dans Settings⚙ > Apps > Visual Studio 2022 > Modify > Other Toolsets, en vérifiant Office/SharePoint development et en cliquant sur Modify. Voir également la documentation de Microsoft ici et ici.

Le PIA de l’application hôte Office du modèle sélectionné est toujours chargé par défaut. Si vous avez besoin d’accéder au modèle d’objet d’une autre application Office, vous devez ajouter sa bibliothèque de types comme référence, tel qu’expliqué ci-dessus.

Remarque : il est impossible d’utiliser les API de think-cell à partir de Compléments Web Office, malheureusement renommé « Compléments Office » par Microsoft, car ils ne peuvent interagir directement avec le modèle d’objet de l’application Office, et notamment d’interagir avec les compléments COM, tels que think-cell.

Référence de l’API

Windows uniquement

Sous Windows, vous pouvez utiliser les API suivantes :

Automatisation avec les données Excel

Mettez automatiquement à jour les éléments think-cell dans un modèle PowerPoint avec les données d’Excel. Voir Automatisation avec les données Excel pour en savoir plus.

API

Description

Thème manuel

PresentationFromTemplate

Crée une copie d’un modèle PowerPoint et met à jour tous les éléments think-cell de la présentation copiée qui sont liés à un classeur Excel

PresentationFromTemplate

UpdateBatch

Met à jour uniquement certains éléments think-cell dans un modèle PowerPoint, qu’ils soient liés à Excel ou non

UpdateBatch

UpdateChart (obsolète)

Met à jour un élément think-cell dans un modèle PowerPoint avec les données d’Excel. UpdateBatch a remplacé UpdateChart.

UpdateChart (obsolète)

Fichiers de style

Chargez, affichez et supprimez des fichiers de style think-cell. Voir Fichiers de style pour en savoir plus.

API

Description

Thème manuel

LoadStyle

Charge un fichier de style dans un masque de diapositives ou une mise en page de diapositives

Load a style file: LoadStyle

LoadStyleForRegion

Charge un fichier de style afin qu’il ne s’applique qu’à une zone spécifique d’une mise en page de diapositive

Load a style file in an area of the layout: LoadStyleForRegion

GetStyleName

Renvoie le nom du fichier de style actif dans un masque de diapositives ou une mise en page de diapositive

View the name of the active style file: GetStyleName

RemoveStyles

Supprime tous les fichiers de style d’une mise en page de diapositive

Remove all style files active in a layout: RemoveStyles

Graphiques Mekko Graphics

Importez des graphiques Mekko Graphics dans think-cell et inspectez-les. Voir Importer des graphiques Mekko Graphics pour en savoir plus.

API

Description

Thème manuel

ImportMekkoGraphicsCharts

Remplace les graphiques Mekko dans PowerPoint par des graphiques think-cell

ImportMekkoGraphicsCharts

GetMekkoGraphicsXML

Extrait la définition XML d’un graphique Mekko

GetMekkoGraphicsXML