Création de présentations Powerpoint / Keynote avec scriptabilité?
-
18-09-2019 - |
Question
Dernièrement, je suis en train de créer des présentations PowerPoint aux entreprises. J'ai surtout fait cela dans PowerPoint. En fait, ils sont créés par la même conception, mais juste des nombres différents dans des lieux fixes et numéros différents utilisés pour générer la substance graphique graphique à barres PowerPoint / tarte. (Fondamentalement, il y a ces objets graphiques circulaires lorsqu'il est inséré, vous donner une option pour changer la conception, et saisissez les chiffres dans une feuille de calcul Excel qui apparaît).
Disons que je fais cela pour 100 entreprises: n'est pas là un moyen de spécifier que toutes les différentes valeurs dont j'ai besoin, et ont le powerpoint créé en quelque sorte? Je peux fournir une base de conception, tout ce qu'il doit faire est d'aller juste et changer les valeurs dynamiques (rien raster).
si je pouvais le faire avec Keynote (comme, automatiser des graphiques circulaires, des graphiques à barres et mis en place avec des chiffres et du texte statique), puis qui fonctionne trop Ceci est même pas une question nécessairement PowerPoint. >Modifier : je l'ai mentionné que je sais que les graphiques des graphiques circulaires PowerPoint / barres sont générées à partir des feuilles de calcul Xxcel. Il y a environ 3 de ceux-ci dans ma présentation, ainsi que d'autres changements de valeurs dans des positions statiques, à travers quelque 100 présentations. Je suis à la recherche de scénario tout ou la majorité du processus.
Modifier : En utilisant PowerPoint 2007 ou la nouvelle version de Keynote. La méthode préférée de script avec Keynote serait probablement AppleScript, avec PowerPoint 2007, soit Python / Django ou macros.
La solution
Désolé, ce a pris quelques jours pour revenir à vous, a dû travailler un problème. Voici un moyen rapide et efficace de faire ce que vous demandez.
- Créer un PowerPoint macro-activé.
- Créer un graphique circulaire unique sur la première diapositive via Insérer | Tableau commande dans le ruban. Excel ouvert. Dans les colonnes, sur la horizontal (Catégorie) Axe laisser tel quel (à savoir 1er trimestre, 2e qRT, etc.). Sur le Légende entrées (série) Axe , développez quelques colonnes et ajouter des données. Assurez-vous les noms de colonnes sont uniques.
- Fermer Excel
- Appuyez sur Alt + F11 pour aller à la VBE.
- Copier / Coller le code ci-dessous dans un nouveau
module, changeant de ce qui suit
variables
chartTemplatePath
et, si nécessaire,sc.Name
, à quelque chose d'autre de votre choix. - Cliquez sur F5 dans le sous-programme pour exécuter. Vous devriez maintenant avoir autant de tableaux diapositives comme il y a des colonnes.
.
Sub CreateChartDecksandSave()
Dim chartTemplatePath As String
chartTemplatePath = "C:\Temp\"
Dim myPPT As Presentation
Set myPPT = ActivePresentation
Dim mainChart As Chart
Set mainChart = myPPT.Slides(1).Shapes(1).Chart
Dim scCount As Integer
scCount = mainChart.SeriesCollection.Count
Dim sc As Series
For i = 1 To scCount
Set sc = mainChart.SeriesCollection(1)
myPPT.SaveCopyAs (chartTemplatePath & sc.Name & ".pptx")
sc.Delete
Next
End Sub
Si vous travaillez avec cela et les données du graphique disparait de la principale PPT, qui est d'accord, il suffit de sélectionner le graphique, allez à Outils de graphique | Conception | Sélectionner les données et sélectionnez à nouveau votre ensemble de données comme la table.