Piece of VBA code which will place Points at the insertion point of texts and taking the Z value of that text:
Public Sub ToolText2Point()
Dim acTekst As AcadText
Dim acPoint As AcadPoint
Dim pnt As Variant
Dim objTxt As AcadEntity
Dim objSelSet As AcadSelectionSet
Dim objSelCol As AcadSelectionSets
Dim strVal As String
Dim varData(3) As Variant
Dim intType(3) As Integer
Set objSelCol = ThisDrawing.SelectionSets
For Each objSelSet In objSelCol
If objSelSet.Name = "HOOGTEPUNTEN" Then
objSelCol.Item("HOOGTEPUNTEN").Delete
Exit For
End If
Next
ThisDrawing.Utility.Prompt vbCrLf & "This tool places Points above texts with a Z value of selected text." & vbCrLf
Set objSelSet = objSelCol.Add("HOOGTEPUNTEN")
intType(0) = -4
varData(0) = "<OR"
intType(1) = 0
varData(1) = "TEXT"
intType(2) = 0
varData(2) = "MTEXT"
intType(3) = -4
varData(3) = "OR>"
objSelSet.SelectOnScreen intType, varData
For Each objTxt In objSelSet
pnt = objTxt.InsertionPoint
strVal = ReturnHoogteCijfer(objTxt.TextString)
If IsNumeric(strVal) Then
pnt(2) = CDbl(strVal)
Set acPoint = ThisDrawing.ModelSpace.AddPoint(pnt)
End If
Next objTxt
ThisDrawing.SelectionSets.Item("HOOGTEPUNTEN").Delete
End Sub
Function ReturnHoogteCijfer(varGetal As String) As String
Dim varGetalChecked As String
varGetalChecked = Trim(varGetal)
If Left(varGetalChecked, 1) = "+" Then
varGetalChecked = Right(varGetalChecked, Len(varGetalChecked) - 1)
End If
varGetalChecked = Replace(varGetalChecked, ".", ",", 1, 1)
ReturnHoogteCijfer = varGetalChecked
End Function