I know this has been addressed a million times already but I can't seem to make it work. I want to edit an attribute value of a block that has been inserted by vb, the code I have hacked from this NG is this: 'Change scale attribute of blockObj atts = blockObj.GetAttributes For i = LBound(atts) To UBound(atts) If UCase(atts(i).TagString) = UCase(strTag) atts(i).TextString = strAttValue Exit For End If Next Is this correct? It is taken straight from a post on the newsgroup but it doesn't work. Maybe my declarations are incorrect? I have tried the following (and some variations of them) to no avail. Dim i As Integer Dim atts As AcadAttribute Dim blockObj As Object Dim strTag As String Dim strAttValue As String Or maybe the way I am setting the string values is all screwy... Set strTag = "SCALE" Set strAttValue = "testing" Whatever it is, I'm all confused and an obvious VB newbie, so any help sorting this out will be very appreciated! kemp