0

我在 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”?

4

0 回答 0