Page 1 of 1

[Solved] how to Run a macro with a keystroke

PostPosted: Wed Aug 28, 2019 11:13 pm
by Cardinal2B
I have a macro created which calls the Find/Replace, looks for the dreaded ellipsis character, and replaces it with 3 periods - using Replace All to scan the entire document. Works nicely.
But, to run it from the menu (Tools -> Macros -> Run Macro...) is a bit clunky.
So I'd like to run the macro by assigning it to a keystroke (or combination using Alt or Ctl or Shift), which would run the macro
How can I do that? Or, can you supply a link to the right documentation to learn how?
Thanks!

Re: how to Run a macro with a keystroke (assign macro to key

PostPosted: Wed Aug 28, 2019 11:57 pm
by Villeroy
menu:Tools>Customize...

Re: how to Run a macro with a keystroke (assign macro to key

PostPosted: Thu Aug 29, 2019 6:30 am
by Zizi64
In the customize menu you can add your macro to an existing toolbar, or you can create your own toolbar. You can use the built-in icon set, or you can import new icons.
You can assign the new toolbar to the actual document only, or you can assign it to the actual AOO/LO application.

Re: how to Run a macro with a keystroke (assign macro to key

PostPosted: Thu Aug 29, 2019 6:54 am
by Zizi64
The newer LibreOffice versions have a new feature: You can customize the floating menus (right click menus) too: you can assign your macro as a new item to a floating menu.

Re: how to Run a macro with a keystroke (assign macro to key

PostPosted: Thu Aug 29, 2019 9:52 am
by JeJe
You can add a macro to a Toolbar as well, also using Tools menu/customize. You can stop the ellipsis character replacing 3 periods when you type them by going to format menu/autocorrect/autocorrect options and deleting that entry.

Re: how to Run a macro with a keystroke (assign macro to key

PostPosted: Fri Aug 30, 2019 11:36 pm
by Cardinal2B
Thanks for all the responses!
I had already learned how to stop making ellipses, thanks. However, I have a database of ~ 4000 documents that have ellipses on them; my task is to remove them. Sort of like the Augean Stables of editing... and why I would like to attach the Macro to a key.

So it appears from the responses that the Macro could be assigned to / invoked from a menu, or toolbar. Hmmm GUI jail? No way to attach it to a keystroke or sequence so no mousing would be needed?

Am I correct that a macro can NOT be attached to a key, or am I misinterpreting something?

Re: how to Run a macro with a keystroke (assign macro to key

PostPosted: Sat Aug 31, 2019 12:00 am
by JeJe
The macro can be attached to a key. Go to Tools menu/customise/Keyboard

In the category section choose openoffice macros and find the macro you want to assign the key combination to.

Edit: if you've got 4000 documents opening each and running a macro will be tedious.

You might want to write a macro that finds/opens them all and does the search and replace for you.

Edit 2:

something like this except with a list of all your file paths or you could use the Dir function to find the files.

Code: Select all   Expand viewCollapse view
filepath = "c:\yourfolder\yourdocname.odt"
doc=StarDesktop.loadComponentFromURL(ConvertToURL(filepath),"_blank",0,Array())

'do your search and replace

doc.store
doc.close(true)

Re: how to Run a macro with a keystroke (assign macro to key

PostPosted: Sat Aug 31, 2019 2:19 am
by Cardinal2B
JeJe Thank you, that's what I was looking for.

- I did not see the Keyboard tab; it only appears (in Apache OO) if you have a document (e.g. Text Document) open; if you just proceed from the menu that tab doesn't appear in Tools->Customize. Anyway I found it. Got the macro assigned to the key sequence Ctl-Space. Works great.

And many thanks for the bonus macro to do 'em all in one fell swoop. I will get deeper into that after the holiday weekend (Labor Day here in the states).

Excellent solutions.