25. Automatisation avec les données Excel
Lorsque des données sont fournies à Excel, vous pouvez utiliser les fonctions UpdateChart
et PresentationFromTemplate
pour contrôler de manière programmée à l’aide de ces données.
Avec UpdateChart
vous échangez la feuille de données d’un élément spécifique contre vos données Excel. Avec PresentationFromTemplate
, vous utilisez vos données pour créer une nouvelle présentation basée sur un modèle PowerPoint comportant des éléments think-cell liés aux plages de données d’Excel, tel que décrit dans 21. Liaisons de données Excel.
Étant intégrée au modèle Office Automation, l’interface avec les deux fonctions est accessible avec tout langage permettant de programmer Office, tel que VBA (Visual Basic for Applications) ou C#. Voir Mise en route pour obtenir des instructions détaillées.
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. Pour plus d'explications, reportez-vous à la base de connaissances de Microsoft :
Utilisation d’une association précoce et tardive dans Automation
Ainsi, le type de l'objet complément think-cell est simplement Object
, et il n'existe aucune bibliothèque ou référence de types à ajouter. Il suffit d'acquérir l'objet pour être en mesure de l'appeler. Par exemple, dans VBA dans Excel :
Dans C#, vous pouvez effectuez des associations précoces en définissant la référence à l’objet complément think-cell comme étant dynamic
. Il s’agit également du type déduit par le compilateur lorsque vous définissez la référence comme étant var
, alors vous pouvez simplement écrire :
Ici, xlapp
est une référence à un objet Excel.Application
dans lequel think-cell est chargé.
25.1 Tableau de mise à jour
25.1.1 Signature
VBA
C#
25.1.2 Description
Cette fonction met à jour tous les éléments dans target
avec le nom strName
avec les données contenues dans rgData
. Pour assurer la bonne interprétation des données pour les graphiques, la plage rgData
doit se conformer à la mise en page de leur feuille de données par défaut, ou sa version transposée, voir également Création d’un graphique à partir d’Excel et Adaptation de la disposition des données. L’utilisation de la version par défaut et transposée est indiquée en paramétrant bTransposed
sur false
ou true
, respectivement. Pour les éléments autres que les graphiques, comme les tableaux, la valeur bTransposed
est ignorée.
target
doit être une Presentation
ou une SlideRange
, ou une Slide
, un Master
ou une CustomLayout
unique.
Le nom strName
ne tient pas compte de la casse. Il doit avoir été attribué au préalable dans PowerPoint à l’aide du contrôle de propriété Nom UpdateChart, tel que décrit dans 24. Présentation de l’automatisation.
Pour garantir le ciblage des éléments corrects, assurez-vous qu’ils sont les seuls éléments avec leur Nom UpdateChart configurés sur strName
dans l’objet passé en tant que pres
.
Si un élément ciblé est lié à une plage de données Excel lors de l'invocation de cette fonction, le lien est interrompu. Après quoi l’élément n'est plus lié à aucune plage Excel.
25.1.3 Exemples
Pour utiliser ces modèles, préparez une présentation tel que décrit dans 24. Présentation de l’automatisation, et enregistrez-la sous C:\Samples\UpdateChart\template.pptx
.
VBA
Pour utiliser ce modèle, ajoutez-le à un module dans un classeur Excel.
Cela nécessite une référence vers la bibliothèque d’objets Microsoft PowerPoint 16.0 (voir Visual Basic for Applications pour plus de détails).
L’exécution de UpdateChart_Sample
dans un classeur mettra à jour le graphique dans le modèle de présentation avec les données contenues dans la plage A1:D5
de sa première feuille.
C#
Pour utiliser ce modèle, remplacez le code dans Program.cs
du modèle de projet Console App C # par celui-ci
Cela nécessite une référence vers la bibliothèque d’objets Microsoft PowerPoint 16.0, la bibliothèque d’objets Microsoft Excel 16.0 et la bibliothèque d’objets Microsoft Ofice 16.0 (voir C# pour plus de détails).
L’exécution de l’application obtenue mettra à jour le graphique dans le modèle de présentation afin qu’il contienne une série unique nommée « Série 1 » avec les valeurs 1, 2, 3, et qu’il sauvegarde le résultat sous template_updated.pptx
.
25.2 PrésentationdepuisModèle
25.2.1 Signature
VBA
C#
25.2.2 Description
Cette fonction utilise des liaisons de données entre le classeur Excel wb
et le modèle comportant le nom du fichier strTemplate
pour créer le modèle en mettant à jour les éléments liés avec les données provenant des plages auxquelles ils sont liés. Il en résulte une nouvelle présentation dans l'instance PowerPoint ppapp
.
strTemplate
peut être un chemin complet ou un chemin relatif qui est alors indiqué par rapport à l'emplacement du fichier du classeur Excel wb
.
Tous les éléments dans strTemplate
liés au classeur Excel wb
sont mis à jour (que l'option de mise à jour automatique soit activée ou non). Dans la présentation obtenue, leurs liaisons de données sont interrompues afin d’éviter toute autre modification de ces éléments.
Les éléments dans strTemplate
qui sont liés à des classeurs Excel autres que wb
ne sont pas modifiés et restent liés. Il est donc possible de mettre à jour des liaisons à partir de plusieurs classeurs Excel, en enregistrant le résultat de cette fonction en tant que nouveau modèle et en la rappelant avec le classeur suivant.
Si vous souhaitez contrôler les couleurs des segments du graphique ou le format des cellules du tableau avec le lien Excel, vous pouvez définir le jeu de couleurs sur Utiliser le remplissage de la feuille de données en superposition (voir Jeu de couleurs) ou les options Utiliser la feuille de données… (voir Mise en forme d’un tableau), respectivement. De même, pour contrôler le format des nombres avec la liaison Excel, activez l'option Utiliser le format Excel (voir Format des nombres).
Veillez à définir les options de formatage pertinentes et le format des nombres des cellules respectives dans Excel avant d'appeler PresentationFromTemplate
.
25.2.3 Exemples
Pour utiliser ces modèles, créez tout d’abord une présentation avec un graphique empilé lié à la plage G1:K4
de la première feuille dans un classeur Excel, tel que décrit dans Création d’un graphique à partir d’Excel. Enregistrez dans le même répertoire la présentation obtenue sous C:\Samples\PresentationFromTemplate\template.pptx
, et le classeur sous data.xlsx
.
VBA
Pour utiliser ce modèle, ajoutez-le à un module dans le classeur Excel data.xlsx
préparé, tel que décrit ci-dessus.
Cela nécessite une référence vers la bibliothèque d’objets Microsoft PowerPoint 16.0 (voir Visual Basic for Applications pour plus de détails).
L’exécution de PresentationFromTemplate_Sample
modifiera la valeur de la cellule Sheet1!H3
, qui est liée à la première valeur de la première série du graphique contenu dans template.pptx
, de i=1
à 10
, créera une nouvelle présentation avec le graphique dans le modèle mis à jour afin qu’il contienne cette valeur, et qu’elle ne soit plus liée au classeur, puis l’enregistrera sous output_i.pptx
dans le même dossier que le modèle.
C#
Pour utiliser ce modèle, remplacez le code dans Program.cs
du modèle de projet Console App C # par celui-ci
Cela nécessite une référence vers la bibliothèque d’objets Microsoft PowerPoint 16.0, la bibliothèque d’objets Microsoft Excel 16.0 et la bibliothèque d’objets Microsoft Ofice 16.0 (voir C# pour plus de détails).
L’exécution de l’application obtenue ouvrira Excel, chargera le classeur data.xlsx
, modifiera la valeur de la cellule H3
, qui est liée à la première valeur de la première série du graphique contenu dans template.pptx
, de i=1
à 10
, créera une nouvelle présentation avec le graphique dans le modèle mis à jour afin qu’il contienne cette valeur, et qu’elle ne soit plus liée au classeur, puis l’enregistrera sous output_i.pptx
dans le même dossier que le modèle.
Graphique
-
4.Présentation de la création de graphiques
-
5.Saisie de données
-
6.Libellés de texte
-
7.Histogrammes, graphique à lignes et graphiques à aires
-
8.Éléments décoratifs du graphique
-
9.Graphique en cascade
-
10.Graphiques Mekko
-
11.Graphique en secteurs et circulaire
-
12.Graphiques en nuage de points et à bulles
-
13.Diagramme de Gantt (chronologie)