Тема: Как изменить код?

Вот такой код и описание взято с http://www.cad.dp.ua/ Поиск и замена текста во вставленных блоках
Создайте новый чертеж и создайте в нем несколько текстовых объектов. Двум текстовым объектам присвойте значения "555 - 1212". Теперь создайте из всех этих текстовых объектов блок с именем "blkTEST", вставьте этот блок несколько раз в чертеж и запустите макрос ReplaceTextValue, помещенный предварительно в стандартный модуль VBA. После запуска процедура ReplaceTextVlue просматривает все вставленные в чертеж блоки с именем "blkTEST" и, если в этих блоках есть текстовые объекты со значениями "555 - 1212", то процедура заменит их на "555 - 1234". При этом блок переопределяется и если попытаться вставить его после запуска процедуры, то он будет вставлен уже с обновленным текстовым значением.
Option Explicit
Public Sub ReplaceTextValue()
  Dim objBlk As AcadBlock
  Dim objEnt As AcadEntity
  Dim varPnt As Variant
  Dim strOld As String
  Dim strNew As String
  Dim intCnt As Integer
  On Error GoTo Err_Control
  'Pete change this to the number
  'you want to replace
  strOld = "555 - 1212"
  'Change this to the new number
  strNew = "555 - 1234"
  'Change the name "blkTEST" to the name
  'of your title block
  'Замените имя блока "blkTEST" на то,
  'которое Вы использовали в чертеже
  Set objBlk = ThisDrawing.Blocks("blkTEST")
  For intCnt = 0 To objBlk.Count-1
    Set objEnt = objBlk.Item(intCnt)
    If TypeOf objEnt Is AcadText Then
      If objEnt.TextString = strOld Then
        objEnt.TextString = strNew
        'so the change is visible
        ThisDrawing.Regen acAllViewports
        'Если за ранее известно, что заданный
        'текст может встретится в блоке
        'только один раз, то удалите
        'символ комментария из следующей строки
        'Exit For
      End If
    End If
  Next intCnt
Exit_Here:
  Exit Sub
Err_Control:
  MsgBox Err.Description
  Resume Exit_Here
End Sub
Вопрос: как сделать так чтобы значение номера блока было в качестве strNew, т.е. чтобы блоки переименовывались в соответствии с их номером?
Сам уже по-всякому попробовал, но к сожалению не хватает знаний по VBA.

Re: Как изменить код?

vvs пишет:

Вопрос: как сделать так чтобы значение номера блока было в качестве strNew, т.е. чтобы блоки переименовывались в соответствии с их номером?

а что, разве у блоков в акаде есть какие-то номера ? Насколько я знаю, нет.  В таком случае, ЧТО вы подразумеваете под номером блока (этот номер входит в состав имени блока ?, если да, то приведите пожалуйста конкретный пример такого имени блока). А код, имхо, очень простой, из него наверняка можно сделать то, что вам нужно, вот только знать бы поточнее, что именно:)

Re: Как изменить код?

Попытаюсь пояснить.
У меня есть блоки с одинаковыми именами, в составе блока есть текст, например, "*". Мне хотелось бы чтобы текст "*" заменялся на 1,2,3 и т.д.
Это возможно? Может быть есть какой-то более подходящий способ, нежели замена текста в блоке?

Re: Как изменить код?

Может на атрибуты обратить внимание?

Re: Как изменить код?

> vvs
Конечно, атрибуты. Прочитайте в хелпе всё про атрибуты.