このリンクSHP.OnAction
では、 (where ) を使用Dim SHP As Shape
して、形状に割り当てられたマクロの名前を出力します。
が空かどうかを確認したいと思いSHP.OnAction
ます。つまり、このオブジェクトに割り当てられたマクロはありません。SHP.OnAction = ""
は機能しません。常に戻りfalse
ます。私も ``SHP.OnAction = Empty ,
SHP.OnAction = Null , they always return
false` も試しました...
空かどうかを確認する方法を教えてください。
Edit1:次のコードを使用して、ブック内のすべての図形を調べ、マクロが割り当てられている図形があるかどうかを確認します。Chart
orを含むいくつかのワークブックでテストすると、形状にマクロがなくても、常に が返さPicture
れるようです...sShpaes.OnAction <> ""
true
On Error Resume Next
Dim sShapes As Shape
existsAssignedShape = False
For Each ws In Worksheets
For Each sShapes In ws.Shapes
st = ws.Name & " " & sShapes.Name & " " & sShapes.OnAction
Print #1, st
Print #1, ""
If (Not existsAssignedShape) And (sShpaes.OnAction <> "") Then
existsAssignedShape = True
End If
Next sShapes
Next ws