Microsoft Publisher に、それぞれが複数の図形を持つ多数のページを含むドキュメントがあります。これらのいくつかは、VBA サブルーチンを使用して変更する必要があります。特定の形状をクリックして選択します。ここで、どうにかしてパブリッシャに選択した図形を識別させる必要がありますが、それを行う方法が見つかりませんでした。次の関数は私が達成したいことを示していますが、「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」の代わりになりますか?