有没有办法在Enterprise Architect中删除多个标记值?

时间:2013-10-15 18:15:21

标签: enterprise-architect

我的元素有10个或更多标记值,而不是一次删除这些元素,有没有办法同时删除它们?

3 个答案:

答案 0 :(得分:2)

正如Uffe指出的那样,你可以用脚本来做到这一点。有关EA脚本的更多信息,请参阅the EA User Guide here

这里的示例是一个函数,用于删除VBScript中单个元素上按名称标记的所有实例:

function deleteTaggedValueForElement( theElement, theTagName )

    dim i
    if not theElement is nothing and Len( theTagName ) > 0 then
        dim tags as EA.Collection
        set tags = theElement.TaggedValues

        for i = tags.Count - 1 to 0 step -1 
            dim theTag as EA.TaggedValue
            set theTag = tags.GetAt( i )
            if theTag.Name = theTagName then
                call theElement.TaggedValues.DeleteAt( i, FALSE )
            end if
        next
    end if

end function

sub main
    dim theTagName
    dim theQuery
    dim theElements as EA.Collection

    theTagName = "MyTag"
    theQuery= "SELECT t_object.Object_ID FROM t_objectproperties INNER JOIN t_object ON t_objectproperties.Object_ID = t_object.Object_ID  WHERE t_objectproperties.Property='" & theTagName & "'"
    set theElements = Repository.GetElementSet( theQuery, 2 )

    dim theElement
    for each theElement in theElements 
        call deleteTaggedValueForElement( theElement, theTagName )
    next

end sub

main

答案 1 :(得分:0)

不在GUI中,您必须编写脚本。

标签存储在元素的TaggedValues集合中。当您删除条目时,提示将向后遍历集合。

答案 2 :(得分:0)

有一个EA帮助页面,确认目前无法进行此操作:

  

要删除此属性,必须打开元素属性对话框,   转到标记值选项卡并手动删除该项目。有   目前没有从多个元素中删除标签的快捷方式   同时进行。

http://www.sparxsystems.com/enterprise_architect_user_guide/10/modeling_basics/addtaggedvalues.html