このリンクSHP.OnActionでは、 (where ) を使用Dim SHP As Shapeして、形状に割り当てられたマクロの名前を出力します。
が空かどうかを確認したいと思いSHP.OnActionます。つまり、このオブジェクトに割り当てられたマクロはありません。SHP.OnAction = ""は機能しません。常に戻りfalseます。私も ``SHP.OnAction = Empty ,SHP.OnAction = Null , they always returnfalse` も試しました...
空かどうかを確認する方法を教えてください。
Edit1:次のコードを使用して、ブック内のすべての図形を調べ、マクロが割り当てられている図形があるかどうかを確認します。Chartorを含むいくつかのワークブックでテストすると、形状にマクロがなくても、常に が返さ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