Llevo unas semanas recopilando y adaptando varias macros para mi trabajo que funcionan muy bien en Write, casi he terminado, necesito que además funcionen en un cuadro de texto lo que no se es como ubicar el cursor, por ejemplo insertar un NIF:
Sub main()
Dim doc As Object
Dim oText As Object
Dim oVCurs As Object
Dim oTCurs As Object
doc = ThisComponent
oText = doc.Text
dni = InputBox (“Captura el DNI”)
Dim nif As String
nif = LetraNif(dni)
d = Format(dni,"##,###")
REM ver el cursor
oVCurs = doc.CurrentController.getViewCursor()
REM crear cursor
oTCurs = oText.createTextCursorByRange(oVCurs.getStart())
’ Place the text to insert here
oText.insertString(oTCurs,d & “-”&nif , FALSE)
End Sub
Function LetraNif(dni As Long) As String
LetraNif = Mid(“TRWAGMYFPDXBNJZSQVHLCKE”, (dni Mod 23) + 1, 1)
End Function
He buscado en el foro sobre el tema y a lo mas que llego es a como crear un cuadro de texto:
oTextBox = oDoc.createInstance(“com.sun.star.drawing.TextShape”)
pero no he encotrado de nada de como seleccionarlo para insertar las macros en el, porque si ejecuto mi macro dentro lo que recibo es este error:
Error de ejecución de BASIC.
Se ha producido una excepción
Type: com.sun.star.uno.RuntimeException
Message: no text selection.