Posted 15 March 2023, 11:43 pm EST
One last thing. I have a custom function “DCREFERSTOSHEETNAME”
The function can have zero or one argument(s). I
If there is an argument, I need to get the reference’s parent sheet and address (see below):
RefersToRangeFunction.prototype = new GC.Spread.CalcEngine.Functions.Function();
RefersToRangeFunction.prototype.isContextSensitive = function () {
return true;
}
RefersToRangeFunction.prototype.acceptsReference = function (argIndex) {
return argIndex = 1 ? true : false;
};
function RefersToRangeFunction() {
this.name = ‘DCREFERSTOSHEETNAME’;
this.maxArgs = 1;
this.minArgs = 0;
}
RefersToRangeFunction.prototype.evaluate = function (context, reference) {
if (reference != null) {
//How to get worksheet name and address from reference object?
}
else {
var row = context.row;
var col = context.column;
var sheet = context.source.getSheet();
let range = sheet.getRange(row, col, 1, 1);
var sheetName = sheet.name();
var address = GC.Spread.Sheets.CalcEngine.rangesToFormula([range]);
return "'" + sheetName + "'!" + address;
}
}
GC.Spread.CalcEngine.Functions.defineGlobalCustomFunction(‘DCREFERSTOSHEETNAME’, new RefersToRangeFunction());
Thanks!
Dean