我想创建一个自定义函数,即 myrange.ckeck_if_included(行,列,numRow行,numcol) 返回一个布尔值,如果输入中给出的范围包含在myrange中,则表示我。是否可以在类范围内创建此功能?以及如何将我的函数引用到myrange? 谢谢 弗兰科
答案 0 :(得分:2)
您始终可以使用代理对象来执行此操作。这是一个通用的代理制作工具:
function proxy(obj) {
var x = {};
Object.keys(obj).map(function(k) { x[k] =
function() { return obj[k].apply(obj, [].slice.call(arguments, 0)); }})
return x;
}
在你的情况下,你可以做
r=proxy(SpreadsheetApp.openById("...").getSheetByName("Sheet1").getActiveRange());
r.myFunction=function () { ... }
更常见的是,您甚至可以用代理替换顶级对象:
GmailApp = proxy(GmailApp);
GmailApp.myFunction = ...
答案 1 :(得分:0)
所以你想扩展Google服务的对象/类?这不起作用,如果您尝试这样做,则会出现异常“对象不允许添加或更改属性”:
r=SpreadsheetApp.openById("...").getSheetByName("Sheet1").getActiveRange();
r.myFunction=function () { ... }