gpt4 book ai didi

vba - 代码在 Powerpoint 2016 中停止工作

转载 作者:行者123 更新时间:2023-12-03 13:02:05 25 4
gpt4 key购买 nike

在早期版本的 PPT 中完美运行的代码在 2016 年停止运行。当我尝试更改图表中形状的左侧属性时,出现了 Method left of object shape failed 错误。我可以完美地阅读 .Left 属性。

我的想法用完了吗?我能做什么?

Sub test11()
Dim sld As Slide
Dim objChart As Object
Dim shpBubble As Object
Set sld = ActivePresentation.Slides("ScatterPlot01_Purch6")
Set objChart = sld.Shapes("Chart01").Chart
sld.Select
objChart.Select

Set shpBubble = objChart.Shapes("P01")
'shpBubble.Select

Debug.Print shpBubble.Left, shpBubble.Visible
shpBubble.Left = 10
End Sub

最佳答案

更新

在 PowerPoint 2010 和 2013 中测试后,它可以正常工作,现在看起来像是 2016 年的错误!

* 结束 *

我通过手动向测试图表添加形状(选择图表然后单击格式/插入形状)设法重现了 PowerPoint 2016 (PC) 中的错误,并且尝试写入它的几个属性,包括位置和格式,例如更改填充颜色。全部产生错误。

也许一种解决方法是使用 .Delete 方法删除所需的形状,然后在所需的大小和位置添加一个新形状。像这样:

Sub test11()
Dim sld As Slide
Dim objChart As Chart 'Object
Dim shpBubble As Shape 'Object
Set sld = ActivePresentation.Slides("ScatterPlot01_Purch6")
Set objChart = sld.Shapes("Chart01").Chart
sld.Select
objChart.Select ' this won't work as you can only select the parent shape sld.Shapes("Chart01")

With objChart
.Shapes("P01").Delete
.Shapes.AddShape msoShapeOval, 10, 10, 20, 20
End With
End Sub

挑战在于,由于新形状是以只读方式添加的,因此无法设置格式!

关于vba - 代码在 Powerpoint 2016 中停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41848822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com