如何使用 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"
在Shapes
或ChartObject
与任何属性或图表方法之间,您需要Chart
:
Sheets("Sheet 1").ChartObjects("Chart 2").HasTitle
失败,但是
Sheets("Sheet 1").ChartObjects("Chart 2").Chart.HasTitle
returns 对或错。
如果没有 PowerPoint 中的宏记录器(在 Office 2007 删除它之前有一个),这会更难,因此您需要使用 Excel,然后修改以使其适合 PowerPoint 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"
在Shapes
或ChartObject
与任何属性或图表方法之间,您需要Chart
:
Sheets("Sheet 1").ChartObjects("Chart 2").HasTitle
失败,但是
Sheets("Sheet 1").ChartObjects("Chart 2").Chart.HasTitle
returns 对或错。
如果没有 PowerPoint 中的宏记录器(在 Office 2007 删除它之前有一个),这会更难,因此您需要使用 Excel,然后修改以使其适合 PowerPoint VBA.