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