我一直在寻找几个小时试图找到这个问题的答案,但无济于事,所以我希望我能在这里找到答案。
我想创建一个引用PowerPoint中预先存在的图表的变量,以便我可以开始自动化其数据。我想通过它的名称来引用图表来使事情变得非常简单,但无论我做什么,我似乎无法给PPT一个令人满意的图表地址。
我已经尝试过以下几乎所有可能的变体,但没有成功:
datagridview1.row(0).cells(target_Cell).value = 'weekly revenue'
有人可以告诉我我做错了吗?
谢谢!
答案 0 :(得分:1)
您需要按名称引用形状(PowerPoint中的“形状”实际上是幻灯片上的任何对象,可以是简单的形状,文本框,表格,图表,组,媒体剪辑等。)如果您在PowerPoint 2010及更高版本上,按Alt + F10打开选择窗格以查找所选图表对象的名称。它可以是标准图表对象或占位符对象中的图表。然后,您可以按如下方式引用图表:
Option Explicit
Sub ChartStuff()
Dim oShp As Shape
Dim oCht As Chart
Set oShp = ActivePresentation.Slides(1).Shapes("Chart 3")
If oShp.HasChart Then
Set oCht = oShp.Chart
End If
' Do stuff with your chart
If oCht.HasTitle Then Debug.Print oCht.ChartTitle.Text
' Clean up
Set oShp = Nothing
Set oCht = Nothing
End Sub
PowerPoint编程的关键是忽略对象模型中对象'Shape'的对象名称,因为它非常具有误导性!