There may be no guidance in the sense you are looking for, and you got good advice already. (Many contributors here are also active on forum.openoffice.org. So am I.)
Since you seem to be insisting, I will also try a different approach.
“Our software” goes back to a commercial competitor among the early text processors and office packages (originally for Z80 systems and CP/M, then moved to DOS). The text component was first introduced to the market in 1984 by a German company named StarDivision.
Later everything was moved to Windows™. The company was sold to SUN which made it multi-system and multi-locale to have such a suite for their own Unix/Linux version “Solaris”, and SUN was swallowed by ORACLE later. The suite was still named StarOffice till a version number 8 (at least). In that time everything was “renewed” internally. The core programming was moved to C++, but most of the functionality was reorganised under the programming paradigm of “services and Interfaces”. The structure developed for the purpose is now presented here..
You see:
- It has a history and history is complicated (and disputable).
- The software never was in any sense a clone of any MS product.
- The sheer market power of MS forced the StarOffice developers to ensure a certain degree of compatibility.
- This never included the funny merging of a general programming language with specialized means for document automation (API) for the components of the software (which still was not only sold as a package).
To invite clever users to change from the MS domain to free and open (and better?) software there also were implemented the options
Option Compatible
and Option VBAsupport 1
to the included Basic (slightly enhanced as compared to StarOffice Basic) which in itself is a rather poor Basic dialect.
The main advantage of using that Basic
for document automation is its (as I tell it) short and wide bridge to the API: There are a few predefined variables (StarDesktop
, ThisComponent
) and functions (CreateUNOService
) to avoid some overhead. Otherwise the language has no powerful modules and is not very efficient in execution. All the relevant functionality is provided by API services - and these are highly efficient in most cases.
Many experienced users prefer the existing bridges for Python, C++, Java, …
For a convert, Basic is interesting because it looks familiar. But it would be dangerous to assume a deep correspondence.
There is one famous source of texts that closely link the introduction to Star- (OOo- AOO- LibO-) Basic with the much more important introduction to the API. It’s provided by Andrew Pitonyak here. Got to the table and look for “The Book” and for the “English Macro Document”.