h.rouvoet
2004-08-05, 12:45 PM
Hi all,
I have a problem with my function;
My routine lets the user pick an object on screen.
A first failure in selecting an object (The user picks anywhere on the screen), the routine displayes an message box.
A second failure in selecting an object generates a runtime error.
<"Method 'GetSubEntity' of object 'IAcadUtility' failed">
How do i solve this problem?
Here is the VBA-Code:
>Public Sub Fase_Enkel()
>On Error GoTo Fout
>UserForm1.Hide
>Fase = "L1"
>
>If UserForm1.OptionButton5.Value = True Then
> Fase = "L2"
>End If
>If UserForm1.OptionButton6.Value = True Then
> Fase = "L3"
>End If
>
>SELECTEER:
>ThisDrawing.Utility.GetSubEntity objEnt, varPnt, vbCr & "Selecteer een tekst: ", varData
>
>If objEnt.ObjectName = "AcDbAttribute" Then
> Set objAttr = objEnt
> objAttr.TextString = Fase
> Haal_Fase
> GoTo SELECTEER
>End If
>If objEnt.ObjectName = "AcDbText" Or objEnt.ObjectName = "AcDbMtext" Then
> objEnt.TextString = Fase
> objEnt.Update
> Haal_Fase
> GoTo SELECTEER
>End If
>
>Fout:
> If MsgBox("Er is geen tekst geselecteerd. Verder gaan met selecteren?", vbYesNo, "Fout") = vbYes Then
> Err.Clear
> GoTo SELECTEER
> End If
>
>EINDE:
>UserForm1.Show
>End Sub
END Code
I have a problem with my function;
My routine lets the user pick an object on screen.
A first failure in selecting an object (The user picks anywhere on the screen), the routine displayes an message box.
A second failure in selecting an object generates a runtime error.
<"Method 'GetSubEntity' of object 'IAcadUtility' failed">
How do i solve this problem?
Here is the VBA-Code:
>Public Sub Fase_Enkel()
>On Error GoTo Fout
>UserForm1.Hide
>Fase = "L1"
>
>If UserForm1.OptionButton5.Value = True Then
> Fase = "L2"
>End If
>If UserForm1.OptionButton6.Value = True Then
> Fase = "L3"
>End If
>
>SELECTEER:
>ThisDrawing.Utility.GetSubEntity objEnt, varPnt, vbCr & "Selecteer een tekst: ", varData
>
>If objEnt.ObjectName = "AcDbAttribute" Then
> Set objAttr = objEnt
> objAttr.TextString = Fase
> Haal_Fase
> GoTo SELECTEER
>End If
>If objEnt.ObjectName = "AcDbText" Or objEnt.ObjectName = "AcDbMtext" Then
> objEnt.TextString = Fase
> objEnt.Update
> Haal_Fase
> GoTo SELECTEER
>End If
>
>Fout:
> If MsgBox("Er is geen tekst geselecteerd. Verder gaan met selecteren?", vbYesNo, "Fout") = vbYes Then
> Err.Clear
> GoTo SELECTEER
> End If
>
>EINDE:
>UserForm1.Show
>End Sub
END Code