Bug 141975 - The macro-UI is confusing and not intuitive to me
Summary: The macro-UI is confusing and not intuitive to me
Status: RESOLVED DUPLICATE of bug 120658
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
(earliest affected) release
Hardware: x86-64 (AMD64) Linux (All)
: medium enhancement
Assignee: Not Assigned
Keywords: needsUXEval
Depends on:
  Show dependency treegraph
Reported: 2021-04-29 15:02 UTC by markus heiler
Modified: 2022-03-15 15:30 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Note You need to log in before you can comment on or make changes to this bug.
Description markus heiler 2021-04-29 15:02:27 UTC
Hi guys,

I have been using libreoffice for ... 8 years or so, something like that, give
or take (have been using openoffice before that). I am using Linux most of
the time.

Yesterday I tried to get into macros. The first tutorial I found on the web
was, I believe, via BASIC. This one worked fine on first try.

I then tried the python variant and it did not work. Now it may be that
I am too stupid but ... in parts I think the UI is confusing.

Would it be possible to re-design and overhaul the macro-UI?

Specifically what I found confusing was that we have to navigate
through so many different parts. Since we already use an editor,
I would recommend letting libreoffice infer automatically which
language is used, rather than have the user require to specify 
whether it is BASIC or python.

But altogether, the forced layout is confusing. I went the python 
route and then tried to add a new python function which should be
called, but the "create" button was greyed out. This is not good
from a UI point of view, in my opinion. In my editor I can simply
write the function, then call the .py file from the commandline
and it works. I have no idea what to do in libreoffice to be 
able to invoke this, but it is quite a nightmare. And it seems
to be inconsistent depending on whether it is calc, or word

My recommendation would be to radically simplify the layout and
options; get rid of the options that don't need to be used at
all such as "python" before starting this (people could always
specify this at a later time, but it should be trivial to figure
out whether it is python or BASIC really; I mean that's a simple
check for keywords, and then, even if it can not be inferred,
to make a guess, while also allowing a user to overrule that
lateron. That way we don't have to specify anything up front.).

Or perhaps an integrated editor as-is that could be general
purpose (and re-used), while also allowing for a simplified 
UI for the macros. It could provide integrated help too.

This does not have to be complex! It can be simple. People will
still get things done. But as the UI is right now, it is very
unintuitive and confusing. I actually use my editor to write
python code anyway, so I don't quite need an editor within
libreoffice as-is - but as long as it is available, I would
prefer it all to be much simpler and more intuitive. 

Steps to Reproduce:
See above.

Actual Results:
See above.

Expected Results:
See above.

Reproducible: Always

User Profile Reset: Yes

OpenGL enabled: Yes

Additional Info:
See above. (So many fields here ... are these necessary?)
Comment 1 Heiko Tietze 2021-05-03 09:57:41 UTC
Alain, Andreas: What do you think?
Comment 2 johnks 2021-05-04 13:56:50 UTC
i would like to add to this, one UI element i have found missing at least for me which is present in excel vba is "sheet properties" where the sidebar lists various properties of the selected sheet, in  my case i want to use the "visible" options."-1. xlsheetvisible, 0. xhsheethidden, 1. xlsheetveryhidden." i have been using LO for years now and i have not found this option. either the UI is so confusing that it has slipped while being right in-front of me or the UI element just doesn't exist.
Comment 3 Alain Romedenne 2021-05-18 16:12:47 UTC
Considering that LibreOfice Basic IDE and dialog editor layouts have remained untouched for nearly 20 years, I tend to agree with Markus statements about LibreOffice IDE aging user interface. However I fear that foreseeable modifications go beyond choosing an IDE. My point is that macro edition, macro management and macro execution are distincts aspects to leverage jointly. Rare are IDEs that elegantly combine these aspects. I suspect that no IDE will ever cover them all for the script languages that LibreOffice currently proposes.

When it comes to editing Basic, Beanshell, JavaScript or Python [*] scripts LibreOffice may offer the possibility to select your editor of choice. I am including libreOffice Basic as time of writing macros, one may appreciate to benefit from extra features such as code folding, code completion, objects catalogs, unit testing, … next to existing syntax highlighting, source explorer and debugging.

While coders may elect their preferred IDE, eligible IDEs needs to support the user, shared, document, extension libreOffice paradigm whereby explorable libraries are either editable either available in read-only mode.

The ability to execute scripts requires to be proposed both from LibreOffice client and from the IDEs if ever possible. LibreOffice current macro selector dialog must provide means to execute predefined subsets of Basic methods. g_exportedScripts global variable offers such for Python libraries/modules. Compulsory descriptions for Basic, Beanshell, JavaScript or Python predefined executable scripts would be a substantial plus.

As for johnks' comment about spreadsheet properties, I have the feeling that UNO object inspector coming with 7.2 would cover the approach he's looking for.

[*] Java and C++ are intentionnaly omitted …

PS: The above are not definitive viewpoints, but preliminary observations intended to initiate discussion.
Comment 4 Heiko Tietze 2021-06-07 14:58:53 UTC
Similar request in bug 120658
Comment 5 Timur 2022-03-15 15:30:55 UTC
IIUC there are 2 points here:
one is to unify, as suggested in bug 120658; if you can add or precise something, please do, I close as a duplicate. 
another one is Python, well it doesn't have UI for edit, only 3 other languages do, so you must create and edit elsewhere and just put it in Python folder.

*** This bug has been marked as a duplicate of bug 120658 ***