vba 每个循环错误的 powerpoint 对象参数

vba powerpoint object paramateres for each loop error

我在 ppt vba 中编写了下面的代码,用于在每张幻灯片中获取每个形状的高度、顶部、左侧、宽度参数。然后我的想法是从 excel 复制 vba 中的相同参数,以便将 OLEObjects 复制并粘贴到幻灯片上完全相同的位置。但是在下面提到的行中给出了错误。任何想法为什么? 我正在寻找一个原因,为什么它会给出错误; 对于 ActivePresentation.Slides.Shapes 中的每个 sh。 找不到数据成员或方法..

Sub chngshp()
Dim sl As Slides
Dim sh As Shapes
Set sl = ActivePresentation.Slides
Set sh = ActivePresentation.Shapes
For each sl In ActivePresentation
For each sh In ActivePresentation.Slides.Shapes
Debug.Print ActivePresentation.Slides.Shapes.Name
Debug.Print ActivePresentation.Slides.Shapes.Height
Next
Next
End Sub

不需要set语句。以下是您的代码应该如何编写:

Sub chngshp()
    Dim sl As Slide
    Dim sh As Shape

    For each sl In ActivePresentation.Slides
        For each sh In sl.Shapes
            Debug.Print sh.Name
            Debug.Print sh.Height
        Next sh
    Next sl
End Sub