Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to call library function as custom function from spreadsheet formula?

This might be the same root cause as in How to call a library function from a spreadsheet drop-down menu generated by the same library, but I still wanted to throw it out there in case there was something new or somehow the situation was different.

The thing is that I want to keep all my custom functions in a library, then add the library to any given spreadsheet, and be able to reference them from a cell formula. In the library:

/**
 * Returns the parameter
 * Eg: (16) to 16
 *
 * @param {object} theparameter the parameter.
 * @return {object} the same object.
 */
function ReturnParam(theparameter){
  return(theparameter);
}

In the spreadsheet script, add the library and give it an identifier: myLib

In the spreadsheet cell formula:

=myLib.ReturnParam(4)

or

=myLib.ReturnParam("hello")

and the final value in the cell be 4 or 'hello'.

However it always shows an Unknown function: 'myLib.ReturnParam' error.

I read about the solutions to add wrapper functions in the spreadsheet script, and as well dislike the inconveniences.

In https://issuetracker.google.com/issues/36755072#comment20, there is "a solution", but I fail to grasp the missing details. (Can someone elaborate?)

Any hope for this case?

Is there an alternative deploying as an add-on, even if not trying to do anything fancy with the add-on?

I couldn't find a google-library or -libraries tag.

like image 336
iatorresc Avatar asked Jul 16 '26 21:07

iatorresc


1 Answers

The solution is to create a function on you Google Apps Script project that calls the library function

/**
 * Description of what your function does
 *  
 * @customfunction
 */
function ReturnParam(theParameter){
  return myLib.ReturnParam(theParameter);
}

Then you could call it from your spreadsheet as a custom function

=ReturnParam(4)
like image 194
Rubén Avatar answered Jul 20 '26 14:07

Rubén



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!