「GAS(Google Apps Script) Googleスプレッドシートの目次を自動作成する方法」のご紹介
ご訪問ありがとうございます。
今回は、「GAS(Google Apps Script) Googleスプレッドシートの目次を自動作成する方法」について紹介します。
Googleサービス関連サイトマップのご紹介
Googleサービス関連サイトマップをご紹介します。
Googleサービス関連サイトマップのご紹介 |
|||
学び/学習TOP > IT|ゲーム作り|HP作成 | |||
ITtop > エディタ|プログラミング||| | |||
【GAS(Google Apps Script)】 | |||
ショットカット|MimeType一覧|| 【Googleドライブの操作】 基本編(フォルダ名/URLを取得|スプレットシートのフォルダID取得|ファイル一括取得|フォルダ一括取得|ファイル一括削除||||| 【スプレットシートの操作】 ■基本編(スプレッドシート取得|操作|コピー) ■ファイル操作(一括コピー|ファイル情報一括取得||||) ■シート操作 シート取得|シート非表示/再表示|タブ色変更|シート一括作成/削除 便利機能(目次の自動作成|シートの表示/非表示|メニュー操作) ■セル操作 (1セル操作|複数セル値|(取得|記載)|範囲データをクリア|数式を最終行までコピー|全シート一括値貼り|グループ化|並び替え|連想配列|) ■書式(書式設定|||) ■フォント(フォントの英名確認|フォント/文字サイズを一括変換) ■画像(QRコード生成|画像ファイルを一括生成|||) ■独自メニュー(作成|サブメニュー/区切り線) ■便利なスクリプト(ファイル情報の一括取得||| |
|||
【SEO】 | |||
SEOの歴史|アルゴリズムアップデート|||| | |||
テキストエディタ(サクラエディタ|正規表現) | |||
【プログラミング】 | |||
【C言語】STG作り方|C言語の入門/基礎|リファレンス/サンプル文 | |||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
「GAS(Google Apps Script) Googleスプレッドシートの目次を自動作成する方法」のご紹介
今回は、「GAS(Google Apps Script) Googleスプレッドシートの目次を自動作成する方法」を紹介します。
このスクリプトを利用すると自動的にスプレットシートに各シートへリンクできる目次一覧を作成することができます。大量に作成したシートの整理に非常に役に立ちます。
「GAS(Google Apps Script) で自動作成した目次シート一覧 | |
シート3 | |
シート6 | |
シート14 | |
シート10 | |
シート12 |
function myFunction() {
//■ファイル・シートを取得■
//アクティブなスプレッドシートを取得
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブなスプレッドシートを取得
var mokuji = "目次を記載したいシート名を指定"
//目次を記載したいシート名を指定
var outputSheet = ss.getSheetByName("mokuji");
//ファイルのurlを取得(シートurlの生成に使うため)
var url = ss.getUrl();
//ファイル内シートをすべて取得
var sheets = ss.getSheets();
//目次に反映させるシートのリンクを格納する配列を生成
var links = [];
//シート数分繰り返し
sheets.forEach(function(sheet){
//シート名を取得
var name = sheet.getName();
//目次を記載したいシートの場合、次の処理を実行
if(name !== "mokuji"){
//シートidを取得
var id = sheet.getSheetId();
//シートurlを生成
var sheetUrl = `${url}#gid=${id}`;
//目次に記載する数式を生成
var link = `=HYPERLINK("${sheetUrl}","${name}")`;
//取得したリンクの情報を用意しておいた配列に格納
links.push([link]);
}
});
//データ行数を取得
var rows = sheets.length-1; //もくじシートは除くため-1
//目次を記載したいシートにデータを反映
outputSheet.getRange(2,2,rows,1).setValues(links);
}
解説
最初に目次を記載したシートの指定とシートの取得
「.getActiveSpreadsheet()」でアクティブなスプレッドシートを取得します。
var ss = SpreadsheetApp.getActiveSpreadsheet();
「.getSheetByName()」で目次を記載したいシート名を指定します。
var outputSheet = ss.getSheetByName("目次を記載したいシート名を指定");
シートurlの生成に使うため「.getUrl()」でファイルのurlを取得します。
var url = ss.getUrl();
「.getSheets()」でファイル内シートをすべて取得します。
var sheets = ss.getSheets();
目次に反映させるための配列と繰り返し文の記載
「links = []」で目次に反映させるためシートへのリンクを格納する配列を生成します。
var links = [];
「forEach文」でシートを数分繰り返します。
sheets.forEach(function(sheet){
「.getName()」でシート名を取得します。
var name = sheet.getName();
目次シートの除外と記載するための準備
「if(name !== “●●●”)文」で目次シート以外を処理するための「if文」を記載します。
if(name !== "目次を記載したいシート名を指定"){
「.getSheetId()」でシートidを取得します。
var id = sheet.getSheetId();
「sheetUrl = `${url}#gid=${id}`;」でシートurlを生成します。
var sheetUrl = `${url}#gid=${id}`;
目次一覧のシート名にリンクを貼り付ける数式を生成します。
var link = `=HYPERLINK("${sheetUrl}","${name}")`;
「.push([])」で取得したリンクの情報を用意しておいた配列に格納します。
links.push([link]);
データ行数を取得します。今回は、目次にするシートは除くため-1を記載します。
var rows = sheets.length-1;
目次を記載したいシートにデータを反映します。「.getRange(2,2,rows,1).」で2行目の2列目から目次一覧が記載されます。
「GAS(Google Apps Script) で自動作成した目次シート一覧 | ||
A | B | |
1 | ||
2 | シート3 | |
3 | シート6 | |
4 | シート14 | |
5 | シート10 | |
6 | シート12 |
「.setValues」で配列が実行されます。
outputSheet.getRange(2,2,rows,1).setValues(links);
キーボードのCtrl+Rでスクリプトが実行されます。
結果
スクリプトが実行後、目次指定したシートにリンクの付いた目次一覧が記載されれば成功です。
「GAS(Google Apps Script) で自動作成した目次シート一覧 | |
シート3 | |
シート6 | |
シート14 | |
シート10 | |
シート12 |
Googleサービス関連サイトマップのご紹介
Googleサービス関連サイトマップをご紹介します。
Googleサービス関連サイトマップのご紹介 |
|||
学び/学習TOP > IT|ゲーム作り|HP作成 | |||
ITtop > エディタ|プログラミング||| | |||
【GAS(Google Apps Script)】 | |||
ショットカット|MimeType一覧|| 【Googleドライブの操作】 基本編(フォルダ名/URLを取得|スプレットシートのフォルダID取得|ファイル一括取得|フォルダ一括取得|ファイル一括削除||||| 【スプレットシートの操作】 ■基本編(スプレッドシート取得|操作|コピー) ■ファイル操作(一括コピー|ファイル情報一括取得||||) ■シート操作 シート取得|シート非表示/再表示|タブ色変更|シート一括作成/削除 便利機能(目次の自動作成|シートの表示/非表示|メニュー操作) ■セル操作 (1セル操作|複数セル値|(取得|記載)|範囲データをクリア|数式を最終行までコピー|全シート一括値貼り|グループ化|並び替え|連想配列|) ■書式(書式設定|||) ■フォント(フォントの英名確認|フォント/文字サイズを一括変換) ■画像(QRコード生成|画像ファイルを一括生成|||) ■独自メニュー(作成|サブメニュー/区切り線) ■便利なスクリプト(ファイル情報の一括取得||| |
|||
【SEO】 | |||
SEOの歴史|アルゴリズムアップデート|||| | |||
テキストエディタ(サクラエディタ|正規表現) | |||
【プログラミング】 | |||
【C言語】STG作り方|C言語の入門/基礎|リファレンス/サンプル文 | |||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
Googleサービス関連ページのご紹介
Googleサービス関連ページをご紹介します。
「学ぶ」学習用関連サイトマップのご紹介
「学ぶ」学習用関連サイトマップをご紹介します。
「学ぶ」学習用関連サイトマップのご紹介 |
|||
学び/学習TOP > IT|ゲーム作り|HP作成 | |||
【IT】エディタ/正規表現|プログラミング| 【ゲーム作り】STG作り方|C言語の入門/基礎|リファレンス/サンプル文 【HP作成】WordPress|Cocoon|便利テクニック |
|||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「学ぶ」学習用関連ページのご紹介
「学ぶ」学習用関連ページをご紹介
コペンギン・サイトマップ
コペンギンのサイトマップをご紹介します。
【コペンギンTOP】サイトマップ | ||||
コペンギンTOP > ゲーム│ホビー│書籍・マンガ│ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。