我在 Microsoft Publisher 中有一个包含许多页面的文档,每个页面都有几个形状。其中一些我需要使用 VBA 子例程进行更改。我通过单击选择特定形状。现在我必须以某种方式让 Publisher 识别选定的形状,但我还没有找到一种方法来做到这一点。以下函数显示了我希望完成的任务,但“shp.IsSelected”不可用。
Function GetSelectedShape() As Shape
Dim Found As Boolean
Dim ShapeNo As Long
Dim shp As Shape
Dim doc As Publisher.Document
Dim pg As Publisher.Page
Set doc = ActiveDocument
Set pg = doc.ActiveView.ActivePage
' Iterate through shapes
ShapeNo = 0
Do
ShapeNo = ShapeNo + 1
Set shp = pg.Shapes(ShapeNo)
Found = shp.IsSelected ' How to do this?
Loop Until Found Or (ShapeNo = pg.Shapes.Count)
If Found Then Set GetSelectedShape = shp
End Function
(我使用这个 7 岁的答案找到了活动页面: 在 Microsoft Publisher VBA 中,如何访问所选页面?)
所以我的问题是:如何在选定的页面上获得选定的形状,即替换“shp.IsSelected”?