在此链接中,我使用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