我想创建一个自定义函数,即 myrange.ckeck_if_included(row,col,numrow,numcol),它返回一个布尔值,表示输入中给出的范围是否包含在 myrange 中。是否可以在类范围内创建此功能?以及如何将我的函数引用到 myrange?谢谢弗兰科
问问题
759 次
2 回答
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 = ...
于 2013-01-20T14:12:18.337 回答
0
So you want to extend an Object/Class of the Google-Services? This does not work, you get an exception "Object does not allow properties to be added or changed" if you try like this:
r=SpreadsheetApp.openById("...").getSheetByName("Sheet1").getActiveRange();
r.myFunction=function () { ... }
于 2013-01-20T12:51:23.740 回答