On 3/1/23 09:13, Michael Tiernan wrote:
On 12/23/22 11:02 AM, Andrew Pitonyak wrote:
If you are looking to cause functions to recalculate,
Thanks for the reply.
Here's the thing. It's not that I want to force a recalculate, it's
that I have to in order to get the macros to respond.
Here's an example: (What I expect when the spreadsheet finishes opening.)
/*Cell*//*
*/ /*Contents*//*
*/ /*Display*//*
*/
D1
192.168.17.231/24
192.168.17.231/24
D2
=ipwithoutmask(D1)
192.168.17.231
D3
=ipmask(D1)
255.255.255.0
D4
=ipmasklken(D3)
24
Now, when I actually do open the spreadsheet, it says:
/*Cell*//*
*/ /*Contents*//*
*/ /*Display*//*
*/
D1
192.168.17.231/24
192.168.17.231/24
D2
=ipwithoutmask(D1)
#NAME?
D3
=ipmask(D1)
#NAME?
D4
=ipmasklken(D3)
#NAME?
So, if I say it differently, it *seems* like the Macros aren't run
when the spreadsheet is opened.
The macro library has a "Main" entry that is empty. If I choose
"Tools" -> "Macros" -> "Run macro" and then select "Main" and execute
it, there's no visible change.
BUT, if I go into the contents of "D2" and add a space at the end of
the formula "=ipwithoutmask(D1)" to read "=ipwithoutmask(D1) " and hit
return and the macro executes and displays the proper value.
HOWEVER, none of the other cells change so I have to go into each one
and do the same sort of thing, add a space at the end of the line or
between the macro and the parenthesis, each time, hit return and it
works properly.
This is obviously not the correct way it should work.
Hence my query about "starting" macros when the document is opened.
So, that leads to, am *I* doing something wrong?
Thanks for everyone's time.
Not being familiar with Calc's macro functionality, what you are showing
as your macro references looks like a formula, so I would check two
things, which you may have already checked as I also haven't been
following this thread, check your macro security options as they may be
preventing your macros from running as the default option is to prevent
unsigned macros from running. Also check your formula "recalculate of
load" options as they may be set to not recalculate.
With your main entry being empty I would expect running that to actually
do nothing.
Looking at the existing macro definitions and the way they are shown
when placing the cursor in them, I would assume your macros are within a
module, so when you reference the macro in your formula, do you need to
reference is as, for example, <module name>.ipwithoutmask(D1)?
regards,
Steve
--
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/users/
Privacy Policy: https://www.documentfoundation.org/privacy