43289


お世話になっております。  
AutoCAD2008 VBAについての質問です。  
現存するブロックの名称を変更したいのですが、方法がわかりません。  
現状、下記のようにプログラムを作成しています。

[code]

    Dim objEntity As AcadEntity
    For Each objEntity In ThisDrawing.ModelSpace
    
      '取り出された図形のAutoCADクラス名により対象か否かを判定
      If objEntity.ObjectName = "AcDbBlockReference" Then
        For iii = 1 To 1000
          ii = 1000 - iii + 1
          If Val(Right(objEntity.Name, 3)) = ii Then
            charln = Len(Str(Val(Right(Str(ii), 3)) + 1))
            juki_edaban = Right("000" + Right(Str(ii + 1), charln - 1), 3)
            objEntity.Name = juki_edaban ←（ここで以下のエラーが出ます）
        Exit For
      End If
    Next
    
    End If
    
    Next
    
[/code]

（エラー内容）  
実行時エラー '-2145386476 (80200014X)'  
キーが見つかりません

なにか方法があればご教授いただけないでしょうか？  
よろしくお願いします。


CC BY-SA 3.0
2018-04-13T08:58:36.990
43208
2018-04-16T08:40:16.003
28019
question
vba autocad
AutoCADでブロック名称を変更したい


selectionSetのSELECTメソッドにフィルターという機能があり、ブロックのみの図形をselectionSetに格納することができます。  
これをfor文で回せば速く検索できます。


CC BY-SA 3.0
2018-04-16T08:40:16.003
43289
2018-04-16T08:40:16.003
28021
43208
answer