簡體   English   中英

檢查OnAction是否為空

[英]Check if OnAction is empty

在此鏈接中 ,我使用SHP.OnAction (其中Dim SHP As Shape )打印分配給形狀的宏的名稱。

現在,我想檢查SHP.OnAction是否為空,這意味着沒有宏分配給該對象。 SHP.OnAction = ""不起作用,它總是返回false 我也嘗試過``SHP.OnAction = Empty , SHP.OnAction = Null , they always return false`。

誰能告訴我如何驗證它是否為空?

Edit1:我使用下面的代碼,遍歷工作簿中的所有形狀,並檢查是否存在分配了宏的形狀。 我用一些包含ChartPicture工作簿進行了測試,即使形狀沒有宏,似乎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

如果尚未將宏分配給自選圖形,則以下內容將指示True

Sub hgfd()
    Dim s As Shape, t As String
    Set s = ActiveSheet.Shapes(1)
    t = CStr(s.OnAction)
    MsgBox t = ""
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM