通过名称获取图形ID
问题描述:
如果您知道它是Name
,有没有办法获得图形的Id
?通过名称获取图形ID
举例来说,如果我有这样的:
Dim myshape As Shape
myshape.Name
我可以得到它的Id
?
myshape.Id = getIdByName(myshape.Name)
答
当然,这是相当straigtforward:
Sub PrintShapeID()
Debug.Print getIDByName("My Shape", 1)
End Sub
Function getIDByName(shapeName As String, slide As Integer)
Dim ap As Presentation: Set ap = ActivePresentation
Dim sl As slide: Set sl = ap.Slides(slide)
Dim sh As Shape: Set sh = sl.Shapes(shapeName)
getIDByName = sh.Id
End Function
这适用于您指定的幻灯片。您也可以遍历所有幻灯片,但请注意,可能会有多个形状具有相同的名称,因此您必须确定要使用哪一个。
我不是VB'er,所以对我来说并不那么简单。 :) – 2011-03-28 22:14:50
@muntoo:没问题,我在这里帮忙:) – 2011-03-28 22:16:01