Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Visible = True Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor Dim db As Database = Application.DocumentManager.MdiActiveDocument.Database Using trans As Transaction = db.TransactionManager.StartTransaction() Try Dim Values() As TypedValue = {New TypedValue(DxfCode.Start, "TEXT")} Dim prFilter As SelectionFilter = New SelectionFilter(Values) Dim res As PromptSelectionResult = ed.SelectAll(prFilter) If res.Status = PromptStatus.Error Then GoTo skip Dim SS As SelectionSet = res.Value Dim idarray As ObjectId() = SS.GetObjectIds() For i As Integer = 0 To idarray.Length - 1 Dim id As ObjectId = res.Value.Item(i).ObjectId Dim ent1 As DBText = DirectCast(trans.GetObject(id, OpenMode.ForWrite), DBText) If Trim(ent1.TextString) = Trim(TextBox1.Text) Then ent1.TextString = Trim(TextBox2.Text) Else End If Next Finally trans.Commit() End Try trans.Dispose() End Using skip: Mtext() Me.Visible = False End Sub Sub Mtext() Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor Dim db As Database = Application.DocumentManager.MdiActiveDocument.Database Using trans As Transaction = db.TransactionManager.StartTransaction() Try Dim Values() As TypedValue = {New TypedValue(DxfCode.Start, "MTEXT")} Dim prFilter As SelectionFilter = New SelectionFilter(Values) Dim res As PromptSelectionResult = ed.SelectAll(prFilter) If res.Status = PromptStatus.Error Then Exit Sub Dim SS As SelectionSet = res.Value Dim idarray As ObjectId() = SS.GetObjectIds() For i As Integer = 0 To idarray.Length - 1 Dim id As ObjectId = res.Value.Item(i).ObjectId Dim ent As MText = DirectCast(trans.GetObject(id, OpenMode.ForWrite), MText) If Trim(ent.Contents) = Trim(TextBox1.Text) Then ent.Contents = Trim(TextBox2.Text) Else End If Next Finally trans.Commit() End Try trans.Dispose() End Using End Sub