我正在尝试以编程方式更改PowerPoint模板中每个customlayout中每个形状的语言,但我无法弄清楚如何执行此操作。我以前做过,但我找不到宏,所以我真的不知道我是怎么做到的。我已经能够选择每个自定义布局了。但是我需要遍历每个布局中的每个文本框并选择语言。我的问题是针对每个形状。我该怎么做?
这是我到目前为止所得到的:
ActiveWindow.ViewType = ppViewSlideMaster
For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
oLayout.Select
Next
这基本上遍历每个布局。但我无法弄清楚如何选择每个占位符?我该怎么做?
编辑:解决方案现在是:
For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
oLayout.Select
Dim oShape As Shape
For Each oShape In oLayout.Shapes
oShape.Select
Next
Next
答案 0 :(得分:2)
循环遍历oLayout.Shapes
,或者oLayout.Shapes.Placeholders
。
答案 1 :(得分:0)
谢谢你们两个。我需要一个解决方案来更新主幻灯片上的嵌入式Excel对象。 这引导我找到完美的解决方案
'loops through all shapes in slidemaster
Dim oShape As Shape
For Each oShape In ActivePresentation.SlideMaster.Shapes
oShape.Select
'checks for excel object (type=7)
If oShape.Type = msoEmbeddedOLEObject Then
oShape.OLEFormat.Activate
ActiveWindow.Selection.Unselect 'deactivates shape
End If
Next