I guess if it will end up in the documentation, I should be more specific and 
not just go from memory!

The most versatile method to manipulate an LO document is to get the internal 
UNO objects and manipulate them. Using the model provides significant control, 
but you must understand much about the different services and interfaces. 
Another method, which requires very little understanding of the LO internals, 
is to use a UNO dispatcher. The macro recorder uses the dispatcher for all 
commands. The dispatcher requires (1) the command to dispatch such as 
".uno:Undo", (2) arguments that control the dispatch, and (3) an object capable 
of performing the dispatch. When writing your own macros, it is usually better 
to use the object model rather than the dispatcher. That said, some things are 
best handled by the dispatcher; for example, controlling the clipboard. The 
problem with using the macro recorder are that: 

1. The dispatches are not documented and are stated to be subject to change; 
although I have not seen them change over time. 
2. The recorder ignores some values from dialogs that are opened while 
recording a macro. It is possible, therefore, that you will record a 
complicated macro that will not actually playback everything that you did. One 
example is CSV import, the generated macro does nothing. I just verified that 
this is true. 


Side note, my book OOME, which is available as a free download, contains a 
macro that will enumerate the supported dispatches. Last time I ran it, it 
generated over 300,000 rows of dispatch commands. 

On Tuesday, August 18, 2020 14:40 EDT, "Steve (GMail)" 
<stevemfanning...@gmail.com> wrote:
  Thanks Andrew. I feel a need to put a brief clarification in Chapter 12 of 
the 7.0 Calc Guide. Regards, Steve  ------ Original Message ------From: "Andrew 
Pitonyak" <and...@pitonyak.org>To: "Steve (GMail)" 
<stevemfanning...@gmail.com>Cc: "Development List" 
<libreoffice@lists.freedesktop.org>Sent: 18/08/2020 19:31:34Subject: Re: 
Enabling Calc macro recording It may not record input from a dialog. As an 
example, if you import a CSV file, I think that it does not remember the 
parameters that you used for the import. 

The macro it produces does not use commands that directly modify the underlying 
object model but instead build an object to encapsulate each call and send that 
object. This can make it more difficult to modify the created macro. 

On Tuesday, August 18, 2020 14:00 EDT, "Steve (GMail)" 
<stevemfanning...@gmail.com> wrote:
  All, In Calc, I notice the option to enable macro recording at Tools > 
Options > LibreOffice > Advanced is entitled "Enable macro recording (may be 
limited)".  Can anybody advise what to "(may be limited)" caveat refers to? 
Regards,
Steve Fanning 


 


 
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to