4

私は思いつく限り多くの組み合わせを試しました。

私の目標は、StandAloneまたはライブラリからGoogle Apps Scriptを実行し、スプレッドシートで名前付き範囲を設定できるようにすることです。

私が理解できる限りでは、このsetNamedRange()メソッドはスプレッドシートコンテナ内からのみ、を使用する場合にのみ使用できますSpreadsheetApp.getActiveSpreadsheet()

openById()無駄に使ってみました。この方法は利用できません。

私は賢いと思い、openByIdを試し、次にsetActiveSpreadsheetを試しました。私は十分に賢くありませんでした。


更新、問題1816「オブジェクトがグローバルになり、削除しても自動完了が持続する」をgoogle-apps-script-issues http://code.google.com/p/google-apps-script-issues/issues/detail? id = 1816

非常に興味深い行動。間違った質問をするように私を誤解させた

GASエディターのバグのようです。

4

1 に答える 1

8

次の関数は、スタンドアロンスクリプトで名前付き範囲を設定する方法を示しています。

function testNamedRange() {
  var ss = SpreadsheetApp.openById('here is the spreadsheet id');
  var range = ss.getRange('Sheet1!A1:B2');
  ss.setNamedRange('TestRange', range);
  var rangeCheck = ss.getRangeByName('TestRange');
  var rangeCheckName = rangeCheck.getA1Notation();
}

rangeCheckName変数には文字列が含まれていますA1:B2

于 2012-09-07T20:42:23.613 に答える