1

入力で指定された範囲が myrange に含まれているかどうかを示すブール値を返すカスタム関数、つまり myrange.ckeck_if_included(row,col,numrow,numcol) を作成したいと思います。この関数をクラス範囲で作成することは可能ですか? そして、私の関数を myrange に参照する方法は? ありがとうフランコ

4

2 に答える 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

では、Google サービスのオブジェクト/クラスを拡張したいですか? これは機能しません。次のようにしようとすると、「オブジェクトはプロパティの追加または変更を許可していません」という例外が発生します。

r=SpreadsheetApp.openById("...").getSheetByName("Sheet1").getActiveRange();
r.myFunction=function () { ... }
于 2013-01-20T12:51:23.740 に答える