[VBA] 块属性定义与修改
在开发手册里,读取BLOCK的属性(ATTRIBUTE)的命令是GetAttributes,但没有找到修改属性的命令,哪位高手知道吗?<RE class=prog_in> ' 获取块参照的属性<RE class=prog_in> Dim varAttributes As Variant<RE class=prog_in> varAttributes = blockRefObj.GetAttributes<RE class=prog_in><RE class=prog_in> ' 将属性标记和值移至<RE class=prog_in> ' 要在 Msgbox 中显示的字符串中<RE class=prog_in> Dim strAttributes As String<RE class=prog_in> strAttributes = ""<RE class=prog_in> Dim I As Integer<RE class=prog_in> For I = LBound(varAttributes) To UBound(varAttributes)<RE class=prog_in> strAttributes = strAttributes + " Tag: " + _<RE class=prog_in> varAttributes(I).TagString + vbCrLf + _<RE class=prog_in> " Value: " + varAttributes(I).textString<RE class=prog_in> Next<RE class=prog_in> MsgBox "The attributes for blockReference " + _<RE class=prog_in> blockRefObj.Name & " are: " & vbCrLf _<RE class=prog_in> & strAttributes<RE class=prog_in><RE class=prog_in> ' 更改属性值<RE class=prog_in> ' 注意:没有 SetAttributes。 一旦包含<RE class=prog_in> ' 变量数组,就拥有了对象。<RE class=prog_in> ' 更改这些对象就会改变图形中的对象。<RE class=prog_in> varAttributes(0).textString = "NEW VALUE!"<RE class=prog_in><RE class=prog_in> ' 再次获取属性<RE class=prog_in> Dim newvarAttributes As Variant<RE class=prog_in> newvarAttributes = blockRefObj.GetAttributes<RE class=prog_in><RE class=prog_in> ' 再次显示标记和值<RE class=prog_in> strAttributes = ""<RE class=prog_in> For I = LBound(varAttributes) To UBound(varAttributes)<RE class=prog_in> strAttributes = strAttributes + " Tag: " + _<RE class=prog_in> newvarAttributes(I).TagString + vbCrLf + _<RE class=prog_in> " Value: " + newvarAttributes(I).textString<RE class=prog_in> Next<RE class=prog_in> MsgBox "The attributes for blockReference " & _<RE class=prog_in> blockRefObj.Name & " are: " & vbCrLf _<RE class=prog_in> & strAttributes<RE class=prog_in> <RE class=prog_in>注意其中这句话:<RE class=prog_in> ' 注意:没有 SetAttributes。 一旦包含<RE class=prog_in> ' 变量数组,就拥有了对象。<RE class=prog_in> ' 更改这些对象就会改变图形中的对象。 谢谢,我试试! 代码好复杂,去掉显示用的那些其实很少(我可以手工查看属性是否已经改变)
不过我还是搞不定啊,没有变化啊
试试先!
页:
[1]