vba:右alignmentgraphics的标签(堆叠酒吧100%)

我有以下问题:我正尝试使用Excel中的数据在PowerPoint中创build图表。

一切工作正常,我打开PowerPoint,我创build一个图表

Set myChart = ppSlide.Shapes.AddChart2(297, xlBarStacked100).Chart 

然后我从Excel复制我的数据到图表(包括项目的文本),最后我想格式化图表(大小,位置,颜色…)。 再次一切工作正常,唯一不工作的是滴答标签的排列。 它们自动右alignment,但是如果它们太长,需要2行,它们就会居中。 但是我想让他们右alignment。 我知道如何改变标签(使它变粗)

 myChart.Axes(xlCategory).TickLabels.Font.Bold = msoTrue 

但我不知道如何正确alignment。 我不能使用macroslogging器,因为我不能在Excel中find这个函数,只能在ppt中find。

任何人有一个想法,我怎么能做到这一点?

预先感谢,并为我的英语不好…

你可以像这样设置alignment方式:

 myChart.Axes(xlCategory).TickLabels.Alignment = xlRight 

或xlLeft或xlCenter

TickLabels的方向属性(XlTickLabelOrientation枚举中的可能值)和Axis的TickLabelPosition属性(XlTickLabelPosition枚举中的可能值)也可能是您感兴趣的。

更新1

我看了一下这些图片,但仍然无法写出一个macros来达到这个目的。 关于你的评论:不,总是不可能通过用户界面来完成VBA的工作,例如粘贴没有相同的选项。

我只能提出两个select:

  • 存储一个良好的设置的图表(例如在Excel的Personal.xls),当你需要一个新的图表,不要创build它,但复制这个实例并粘贴它(ActivePresentation.Slides(1).ShapeRange.Paste)
  • 将文件保存为xlsx并对其进行处理(解压缩和修改XML) – 这并不容易。

更新2

是的,图表模板是一个好主意。 我试过了,它的工作原理:

 myChart.ApplyChartTemplate "...\AppData\Roaming\Microsoft\Templates\Charts\TemplateName.crtx" 

此外,您可以尝试使用不同的参数调用PasteSpecial。

如果我使用“myChart.Axes(xlCategory).Ticklabels.Alignment = xlRight”会发生什么情况:

图1(标签“家”,“段落”部分),点击标志在直angular上:

https://i.stack.imgur.com/tLNhD.jpg

图2:select右alignment而不是“居中”

在这里输入图像说明