我有一张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':对象不支持此属性或方法”。
答案 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。