Wie kann ich von Python aus Basic-Routinen aufrufen?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

StePfl
**
Beiträge: 47
Registriert: Mo, 04.07.2016 17:16

Wie kann ich von Python aus Basic-Routinen aufrufen?

Beitrag von StePfl »

Hallo zusammen,

ich versuche gerade eine recht umfangreiche in Basic realisierte Auswertung(Calc) von Basic auf Python zu übertragen.
Grund: Interesse/Spieltrieb + deutlich höhere Verarbeitungsgeschwindigkeit bei großen Datenmengen (zumindest mein Eindruck)

Leider finde ich nur sehr spärliche Informationen, wie ich von Python aus LibreOffice-calc steuern kann.
Da ich dazu aber gut funktionierende BasicRoutinen geschrieben hatte würde ich diese gerne weiter nutzen - oder ....

Beispiel: (Aufgabe: Emitteln des in sich geschlossenen Datenbereichs innerhalb eines Scheets)

Code: Alles auswählen

global Function getRangeOfClosedAreaByStartCell(optional oStartCell)
Dim hlp
Dim locSheet, locCurs
	if ismissing(oStartCell) then	
		locCell = ThisComponent.CurrentSelection
	else
		locCell = oStartCell
	endif
	hlp = locCell.AbsoluteName
	locSheet = ThisComponent.sheets(locCell.RangeAddress.sheet)
	GetRangeOfUserdAerea = locCell

	locCurs = locSheet.createCursorByRange(locCell)
	locCurs.collapseToCurrentRegion()
	getRangeOfClosedAreaByStartCell = locCurs
end function
1. Frage: kann ich diese Funktion auch von Python aus aufrufen?

Besser wäre natürlich, diese mit Python zu realiseren:
2. Frage: wie kann ich z.B. Cursormanipulationen von Python aus ausführen?
2b.: wo finde ich weiterführende Informationen zu 2.

herzlichen Dank
StePfl
nikki
******
Beiträge: 787
Registriert: Do, 05.03.2015 10:42

Re: Wie kann ich von Python aus Basic-Routinen aufrufen?

Beitrag von nikki »

Gruß

---------------------------------------------------------
Win.10 Prof. 64-bit, AOO 4.1.7, LO 6.3.4 (x64)
StePfl
**
Beiträge: 47
Registriert: Mo, 04.07.2016 17:16

Re: Wie kann ich von Python aus Basic-Routinen aufrufen?

Beitrag von StePfl »

nikki hat geschrieben: Di, 11.09.2018 09:47 Siehe https://de.openoffice.info/viewtopic.php?f=25&t=66819
Danke - diese Info kannte ich schon - nur hilft es mir bei dem speziellen Problem nicht weiter...

Wichtig wäre für mich aber ein Lösungsansatz zu Frage 1 + 2 ....
Antworten