von Stephan » Mi, 17.02.2016 21:09
Hallo,
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?

- Ausschnitt Basic-IDE.gif (4.13 KiB) 2406 mal betrachtet
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 läuft aber nicht (es passiert garnichts).
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
Hallo,
die Anregung zur folgenden Frage gab mir die Extension:
http://extensions.services.openoffice.org/en/project/basic-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 [u]vor [/u]dem Cursor?
[attachment=0]Ausschnitt Basic-IDE.gif[/attachment]
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]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[/code]
das läuft aber nicht (es passiert garnichts).
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