Bug 148068 - Record Macro does not record Insert Sheet if number changed nor Duplicate Sheet
Summary: Record Macro does not record Insert Sheet if number changed nor Duplicate Sheet
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Macro-Recording
  Show dependency treegraph
 
Reported: 2022-03-18 10:06 UTC by Timur
Modified: 2022-03-23 09:40 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Timur 2022-03-18 10:06:01 UTC
Record Macro does not record inserting sheets done via Sheet-Insert Sheet.. where a number of new sheets can be added.

Note1: Sheet-Insert Sheet at End.. is recorded.
Note2: Record Macro doesn't record mouse actions like sheet selection. That's confusing as seen in https://ask.libreoffice.org/t/why-dont-recorded-macros-include-the-parameters-and-is-there-any-way-round-this/21470/6. Sheets can be selected via keyboard. 
Note3: Record Macro works with dispatch and doesn't really create proper code, so it should be rewritten completely. Workaround could be using MRI extension.
Comment 1 Roman Kuznetsov 2022-03-19 14:11:45 UTC Comment hidden (obsolete)
Comment 2 Timur 2022-03-20 14:30:20 UTC Comment hidden (obsolete)
Comment 3 Xisco Faulí 2022-03-21 11:27:52 UTC
If I Go to Sheet - Insert Sheet - Ok, then the macro is recorded.

dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"
args2(0).Value = "Sheet10"
args2(1).Name = "Index"
args2(1).Value = 1

dispatcher.executeDispatch(document, ".uno:Insert", "", 0, args2())

However, if I change the number of sheets to something different than 1, nothing is recorded
Comment 4 Timur 2022-03-21 12:13:10 UTC
Thanks. I tried only with increased number. 
As for Duplicate Sheet, it records but sets REM so it doesn't work if not edited. Could be a separate bug but let's keep here for a while.
Comment 5 Timur 2022-03-23 09:40:37 UTC
BTW, I cannot find how to insert multiple sheets with API Basic code. I just see insertNewByName which inserts a single sheet. I guess loop should be used.