【发布时间】:2019-10-02 19:35:07
【问题描述】:
我正在组装一个 VBA 模块,该模块可以在 Excel 中计算一些数据并将其粘贴到 powerpoint 演示文稿中。 在这个 powerpoint 演示文稿中,我有一些 think cell 图表,我知道我可以在 tcaddin 的帮助下进行更新(参见下面的代码)。但我没有找到的是如何识别给定幻灯片上的 think cell 图表,或更改此对象的名称。我需要这样做的原因是我想复制一个图表并使用另一组数据而不是已经使用的数据来更新它,但是如果我使用 updatechart 方法这样做,它将更新原始图表和新图表.我不知道我总共会有多少张图表,所以我无法制作它们并提前命名。
我尝试使用“ActiveWindow.Selection.ShapeRange.Name”来识别我的 think cell 对象的名称,但这不起作用(错误 '-21447188160 (8048240):选择(未知成员):无效请求。当前未选择任何合适的选项) 我搜索了类似的问题,但我发现与我的问题有点匹配的问题没有得到解答。 Think Cell 在这个主题上的帮助不是很深 (https://www.think-cell.com/en/support/manual/exceldataautomation.shtml),我在那里找不到任何解决方案。
Dim tcaddin As Object
pptFileName = WSExec.Range("B18").Value
' Get the think-cell add-in object
Set tcaddin = Application.COMAddIns("thinkcell.addin").Object
'Get powerpoint object:
On Error Resume Next
Set ppApp = GetObject(, "PowerPoint.Application")
On Error GoTo 0
'Get the presentation :
If ppApp Is Nothing Then
Set ppApp = New PowerPoint.Application
Set ppPres = ppApp.Presentations.Open( _
Filename:=pptFileName, _
Untitled:=msoFalse, _
WithWindow:=msoTrue)
Else
Set ppPres = ppApp.Presentations.Item(1)
End If
Call tcaddin.UpdateChart(ppPres, "ChartTrafficXEvol", WSExecSum.Range("J33:N52"), False)
我没有要提供的输出,但我想要的是 tcaddin 对象上的一些属性,这将允许我更改图表的名称或创建新的图表(并设置其名称)。
感谢您的帮助。
【问题讨论】:
标签: excel vba powerpoint