ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

タグ「GAS」の記事一覧

全 3 件のうち 1-3 件目を表示しています。

【GAS】スプレッドシートの目次を自動で作る

GAS(Google Apps Script)を使ってスプレッドシートの目次を自動で作りたい!

概要

この記事では、GAS(Google Apps Script)を使ってスプレッドシートの目次を自動で作る手順を掲載する。

100年ぶりひさしぶりにGASをいじったんだけども、ほとんど忘れてた悲しみ。

仕様書

  • Google Apps Script - May 02, 2024

手順書

#gid=<sheed_id>の形式でリンクを貼ると各シートにリンクを貼れる。ので、指定したスプレッドシートから含まれるシートを列挙してシートIDを取得しつつ、リンクを作ってく。

function createIndex() {
  var i = 2;
  var spreadsheet = SpreadsheetApp.openById("xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
  var sheets = spreadsheet.getSheets();
  let index_sheet = spreadsheet.getSheetByName("INDEX");

  sheets.forEach(function(key){
    let r = index_sheet.getRange(i, 1);
    r.setValue(`=HYPERLINK("#gid=${key.getSheetId()}", "${key.getName()}")`);
    i++;
  });
}

INDEXというシート名のシートに目次を作るので先にインストタンスを取得しておく。

let index_sheet = spreadsheet.getSheetByName("INDEX");

スプレッドシート関数HYPERLINKを使って目次を作る。HYPERLINK=HYPERLINK(<URL>, <表示する文字列>)という感じになってて、各シートへのリンクは#gid=<sheet_id>という形式で貼れるので下記のような感じでセルに書き込む。

r.setValue(`=HYPERLINK("#gid=${key.getSheetId()}", "${key.getName()}")`);

シート名をクリックするとそのシートに飛ぶ感じ。

まとめ(感想文)