die Anregung zur folgenden Frage gab mir die Extension:
http://extensions.services.openoffice.o ... -ide-tools
Meine Frage ist leicht zu formulieren, im folgenden Screenshot ist eine Markierung zu sehen, wie lösche ich diese und ermittle dann den Inhalt der (Rest-)Zeile vor dem Cursor?
Da ich weiß das man in der Basic-IDE nur per Dispatcher arbeiten kann (gerne lasse ich mich aber eines Besseren belehren), habe ich Folgendes versucht:
Code: Alles auswählen
Sub jms1()
Dim xIDE As Object
Dim xdispatcher As Object
xIDE = BIT_getIDEController().Frame
xdispatcher = CreateUNOService("com.sun.star.frame.DispatchHelper")
BIT_SetClipBoard ""
xdispatcher.executeDispatch(xIDE, ".uno:Paste", "", 0, Array() )
xdispatcher.executeDispatch(xIDE, ".uno:WordLeftSel", "", 0, Array())
'nachfolgend würde ich die jetzt vorhandene Selection auslesen und hätte damit den gewünschten Inhalt/Text
End Sub
Function BIT_getIDEController() As Object
'--------------------------------------------------------------------------------------------
' Devuelve el controlador del IDE Basic o NULL si no lo encuentra
' Returns the ide controller or NULL if it is not found
Dim componentsEnum As Object
Dim aComponent As Object
componentsEnum = starDesktop.getComponents().createEnumeration()
If (Not IsNull(componentsEnum)) Then
Do While componentsEnum.hasMoreElements()
aComponent = componentsEnum.nextElement()
On local error goto seguir
If aComponent.supportsService("com.sun.star.script.BasicIDE") Then
BIT_getIDEController = aComponent.currentController
Exit Do
End If
seguir:
on local error goto 0
Loop
End If
End Function
Das ist nicht ungewöhnlich da in der Basic-IDE nicht alle ".uno:"-Commands laufen, trotzdem hätte ich gerne eine LÖsung wenn möglich.
Gruß
Stephan