如何使用VBA修改Powerpoint图表标题文本

时间:2018-09-20 11:16:33

标签: charts powerpoint-vba

我有一张Powerpoint 2013演示文稿,幻灯片上有几张图表。我想修改图表标题,但不知道如何选择文本。

Activepresentation.Slides(1).Shapes("Chart 2").Chart.Title = "some text"不变。如果我在行的前面加上Set,则会出现“ 编译错误:无效使用属性

ActivePresentation.Slides(1).Shapes("Chart 2").TextFrame.TextRange.Text = "some text"给出“ 运行时错误'-2147024809#80070057#':指定的值超出范围

图表标题是两行,混合了文本大小。整个图表已从Excel复制。我需要的结果是以编程方式修改该标题的下半部分。

在Excel中,Sheets("Sheet 1").ChartObjects("Chart 2").Name返回名称,但Sheets("Sheet 1").ChartObjects("Chart 2").HasTitle给出“ 运行时错误'438':对象不支持此属性或方法”。

1 个答案:

答案 0 :(得分:1)

您的语法不完整;您需要一个地方Chart,而其他地方没有,图表元素是ChartTitle而不是Title,并且您需要指定哪个子元素获取新文本({{1 }}):

Text

ActivePresentation.Slides(1).Shapes("Chart 2").Chart.ChartTitle.Text = "some text" Shapes与图表的任何属性或方法之间,您需要ChartObject

Chart

失败,但是

Sheets("Sheet 1").ChartObjects("Chart 2").HasTitle

返回True或False。

在PowerPoint中没有宏记录器的情况下很难做到这一点(直到Office 2007删除了宏记录器),因此您需要使用Excel的宏记录器,然后破解以使其适合PowerPoint VBA。