J'ai un graphique dans Excel où ma macro remplit 10 formes par le côté droit de la zone de graphique. Je veux copier uniquement le graphique sur le point d'alimentation et ne pouvais pas trouver un moyen de désactiver la copie des formes jusqu'à présent. Si je copie le graphique, il copie également les formes.Comment désactiver la copie des formes présentes dans chartarea?
0
A
Répondre
1
Voici un exemple rapide qui copie le premier tableau de la feuille active, pâtes à la première diapositive de la présentation active et supprime toutes les formes existantes du graphique collé ...
'Declare Excel variables
Dim ChartObj As ChartObject
'Declare PowerPoint variables
Dim ppApp As Object
Dim ppPres As Object
Dim ppChartObj As Object
Dim ppShape As Object
'Copy first chart from active sheet
Set ChartObj = ActiveSheet.ChartObjects(1)
ChartObj.Copy
'Paste chart into first slide of active presentation
Set ppApp = GetObject(, "PowerPoint.Application")
Set ppPres = ppApp.ActivePresentation
Set ppChartObj = ppPres.slides(1).Shapes.Paste(1)
'Delete shapes from chart
For Each ppShape In ppChartObj.Chart.Shapes
ppShape.Delete
Next ppShape
Hope this aide!
+0
Merci pour cette idée. Cela a aidé. –
Les formes à l'intérieur de l'objet de graphique sont-elles? S'ils sont à l'intérieur de l'objet graphique, ils seront copiés avec le graphique. Une solution serait de les couper du tableau et de les coller sur la carte (mais pas dedans). Lorsque vous exportez le graphique (en référençant l'objet), ces formes ne doivent pas être copiées avec votre graphique. –
Vous pouvez également copier/coller le graphique, puis supprimer les formes du graphique collé en faisant une boucle sur chaque forme de la collection Shapes de l'objet Graphique. – Domenic
Oui, les formes sont présentes dans l'objet graphique. J'ai ces idées en tête. Vous cherchez une solution conviviale sans effort supplémentaire pour l'utilisateur. Essayé $ .controlformat.printobject = false $ ne fonctionne pas ... Vous cherchez quelque chose à ajouter dans VBA pour restreindre la copie des formes .. est-il possible ... @domenic –