0

最初の 4 つを除くすべてのシートの固定セルをクリアし、まったく同じセルにシート名を入力するスクリプトを作成したいと考えています。

これまでのところ、セルを空白にして、シート名を取得する新しい関数で埋めるスクリプトがあります。最初のスクリプトは、スプレッドシートを開くときにトリガーされます。ただし、読み込み中… と表示されるだけで、シート名は取得されません。

私の現在の(動作していないスクリプト):

function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}


function clearRange() {
SpreadsheetApp.getActive().getSheets()
    .map(function (s, i) {
        if (i > 3) s.getRange('B3').clearContent().setFormula('=sheetName()');
    })
}

素晴らしいアイデアはありますか?ありがとう

4

2 に答える 2

0

カスタム関数をセルに書き込む代わりに、シート名そのものを書きませんか? そのようです...

function clearRange() {
SpreadsheetApp.getActive().getSheets()
.map(function (s, i) {
    if (i > 3) s.getRange('B3').clearContent().setValue(s.getName());
    })
}

必要に応じて、この関数をトリガーして onOpen を実行できます。

注: .clearContent() の部分は省略してもかまいません。コンテンツは上書きされるためです。

于 2015-11-03T12:23:19.560 に答える