Your question is off-topic for this site:
Questions asking us to recommend or find a book, tool, software
library, tutorial or other off-site resource are off-topic for Stack
Overflow as they tend to attract opinionated answers and spam.
Instead, describe the problem and what has been done so far to solve
it.
However, I sympathize since I felt that way when first getting started. So let me give an overview of the three main language options:
- OpenOffice Basic: This is the best choice for small simple macros, and code can be written using the IDE that is built into LibreOffice / Apache OpenOffice. Many larger projects use Basic as well. Good documentation is available for this language. Note that this is very different from VBA, so your experience with the Microsoft suite will not really help here.
- Java: This is the most powerful, and allows the closest integration with the UNO API. However it can be cumbersome, because each UNO call typically requires a
queryInterface
call. Also it must be compiled, so care must be taken to match version and platform correctly.
- Python: I find this to be a happy medium between the other two options. The language provides more structure than Basic but it avoids the extra requirements of Java. However documentation is somewhat limited, and often requires learning from Basic or Java examples.
For any of these three, user forms can be created within OpenOffice using the dialog editor.
See also https://wiki.openoffice.org/wiki/Documentation/DevGuide/Scripting/Writing_Macros.