0

このリンク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
4

1 に答える 1