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

How to amend Powerpoint Chart Title text using VBA

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

Activepresentation.Slides(1).Shapes("Chart 2").Chart.Title = "some text" 没有任何改变。如果我在该行前面加上 Set,它会给出“编译错误:属性”的无效使用

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

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

在 Excel Sheets("Sheet 1").ChartObjects("Chart 2").Name returns 名称中,但 Sheets("Sheet 1").ChartObjects("Chart 2").HasTitle 给出“Run-time 错误 '438': Object 不支持此 属性 或方法 ”。

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

ActivePresentation.Slides(1).Shapes("Chart 2").Chart.ChartTitle.Text = "some text"

ShapesChartObject与任何属性或图表方法之间,您需要Chart:

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

失败,但是

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

returns 对或错。

如果没有 PowerPoint 中的宏记录器(在 Office 2007 删除它之前有一个),这会更难,因此您需要使用 Excel,然后修改以使其适合 PowerPoint VBA.