GAS開発者向けにスプレッドシートのシート挿入・複製・移動・削除機能をすべてまとめました。
頻繁にシート作成、似たようなシートをコピー、たくさん作ったシートを整理するために移動や削除、など、GASを使ってシート全般の操作を簡単にしましょう。
特に挿入はいろいろやり方があるので、やりやすいやり方を見つけてみてください。
シート挿入・複製・移動・削除に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
- Google Apps Script スプレッドシート 基礎 リファレンス
- スプレッドシートクラス[Spreadsheet]のシート挿入
- シート挿入1[insertSheet()]
- シート挿入2[insertSheet(シート名)]
- シート挿入3[insertSheet(シートインデックス)]
- シート挿入4[insertSheet(オプション)]
- シート挿入5[insertSheet(シート名, シートインデックス)]
- シート挿入6[insertSheet(シート名, オプション)]
- シート挿入7[insertSheet(シートインデックス, オプション)]
- シート挿入8[insertSheet(シート名, シートインデックス, オプション)]
- シート挿入9(データソーステーブル)[insertSheetWithDataSourceTable(スペック)]
- スプレッドシートクラス[Spreadsheet]のシート複製
- スプレッドシートクラス[Spreadsheet]のシート移動
- スプレッドシートクラス[Spreadsheet]のシート削除
- 最後に
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
スプレッドシートクラス[Spreadsheet]のシート挿入
スプレッドシート全体の新規シート挿入メソッドです。
シート挿入1[insertSheet()]
insertSheet()
デフォルトのシート名を使用して、スプレッドシートに新しいシートを挿入します。新しいシートがアクティブシートになります。
function insertSheet1Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.insertSheet();
}
Return
Sheet - 新しいシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Spreadsheet | Methods | insertSheet()
シート挿入2[insertSheet(シート名)]
insertSheet(sheetName)
指定された名前で新しいシートをスプレッドシートに挿入します。新しいシートがアクティブシートになります。
function insertSheet2Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.insertSheet('My New Sheet');
}
名前 | タイプ | 説明 |
---|---|---|
sheetName | String | 新しいシートの名前。 |
Return
Sheet - 新しいシート。
シート挿入3[insertSheet(シートインデックス)]
insertSheet(sheetIndex)
指定されたインデックスの新しいシートをスプレッドシートに挿入します。新しいシートがアクティブシートになります。
function insertSheet3Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.insertSheet(1);
}
名前 | タイプ | 説明 |
---|---|---|
sheetIndex | Integer | 新しく作成されたシートのインデックス。スプレッドシートの最初のシートとしてシートを挿入するには、0に設定します。 |
Return
Sheet - 新しいシート。
シート挿入4[insertSheet(オプション)]
insertSheet(options)
デフォルトのシート名とオプションの詳細引数を使用して、新しいシートをスプレッドシートに挿入します。新しいシートがアクティブシートになります。
function insertSheet4Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = ss.getSheetByName('Sales');
ss.insertSheet({template: templateSheet});
}
名前 | タイプ | 説明 |
---|---|---|
options | Object | 下記にリストされているオプションのJavaScriptの高度な引数。 |
名前 | タイプ | 説明 |
---|---|---|
template | Sheet | テンプレートシートオブジェクトのすべてのデータが新しいシートにコピーされます。シートテンプレートは、このSpreadsheetオブジェクトのいずれかのシートである必要があります。 |
Return
Sheet - 新しいシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Spreadsheet | Methods | insertSheet(options)
シート挿入5[insertSheet(シート名, シートインデックス)]
insertSheet(sheetName, sheetIndex)
指定されたインデックスの指定された名前で新しいシートをスプレッドシートに挿入します。新しいシートがアクティブシートになります。
function insertSheet5Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.insertSheet('My New Sheet', 1);
}
名前 | タイプ | 説明 |
---|---|---|
sheetName | String | 新しいシートの名前。 |
sheetIndex | Integer | 新しく作成されたシートのインデックス。スプレッドシートの最初のシートとしてシートを挿入するには、0に設定します。 |
Return
Sheet - 新しいシート。
シート挿入6[insertSheet(シート名, オプション)]
insertSheet(sheetName, options)
指定された名前でスプレッドシートに新しいシートを挿入し、オプションの詳細引数を使用します。新しいシートがアクティブシートになります。
function insertSheet6Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = ss.getSheetByName('Sales');
ss.insertSheet('My New Sheet', {template: templateSheet});
}
名前 | タイプ | 説明 |
---|---|---|
sheetName | String | 新しいシートの名前。 |
options | Object | オプションのJavaScriptの高度な引数。 |
名前 | タイプ | 説明 |
---|---|---|
template | Sheet | テンプレートシートオブジェクトのすべてのデータが新しいシートにコピーされます。シートテンプレートは、スプレッドシートオブジェクトのいずれかのシートである必要があります。 |
Return
Sheet - 新しいシート。
シート挿入7[insertSheet(シートインデックス, オプション)]
insertSheet(sheetIndex, options)
指定されたインデックスでスプレッドシートの新しいシートを挿入し、オプションの詳細引数を使用します。新しいシートがアクティブシートになります。
function insertSheet7Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = ss.getSheetByName('Sales');
ss.insertSheet(1, {template: templateSheet});
}
名前 | タイプ | 説明 |
---|---|---|
sheetIndex | Integer | 新しく作成されたシートのインデックス。スプレッドシートの最初のシートとしてシートを挿入するには、0に設定します。 |
options | Object | オプションのJavaScriptの高度な引数。 |
名前 | タイプ | 説明 |
---|---|---|
template | Sheet | テンプレートシートオブジェクトのすべてのデータが新しいシートにコピーされます。シートテンプレートは、スプレッドシートオブジェクトのいずれかのシートである必要があります。 |
Return
Sheet - 新しいシート。
シート挿入8[insertSheet(シート名, シートインデックス, オプション)]
insertSheet(sheetName, sheetIndex, options)
指定されたインデックスの指定された名前で新しいシートをスプレッドシートに挿入し、オプションの詳細引数を使用します。新しいシートがアクティブシートになります。
function insertSheet8Sample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = ss.getSheetByName('Sales');
ss.insertSheet('My New Sheet', 1, {template: templateSheet});
}
名前 | タイプ | 説明 |
---|---|---|
sheetName | String | 新しいシートの名前。 |
sheetIndex | Integer | 新しく挿入されたシートのインデックス。スプレッドシートの最初のシートとしてシートを挿入するには、0に設定します。 |
options | Object | オプションのJavaScriptの高度な引数。 |
名前 | タイプ | 説明 |
---|---|---|
template | Sheet | テンプレートシートオブジェクトのすべてのデータが新しいシートにコピーされます。シートテンプレートは、スプレッドシートオブジェクトのいずれかのシートである必要があります。 |
Return
Sheet - 新しいシート。
シート挿入9(データソーステーブル)[insertSheetWithDataSourceTable(スペック)]
insertSheetWithDataSourceTable(spec)
スプレッドシートに新しいシートを挿入し、指定されたデータソース仕様でシート全体にまたがるDataSourceTableを作成して、データの実行を開始します。副作用として、新しいシートをアクティブシートにします。
データソースの種類が有効になっていない場合は、例外をスローします。 SpreadsheetApp#enable ... Execution()メソッドを使用して、特定のデータソースタイプに対するデータ実行を有効にします。
名前 | タイプ | 説明 |
---|---|---|
spec | DataSourceSpec | 挿入するデータソースの指定。 |
Return
Sheet - 新しいシート。
スプレッドシートクラス[Spreadsheet]のシート複製
スプレッドシート全体の既存アクティブシート複製メソッドです。
アクティブシート複製[duplicateActiveSheet()]
duplicateActiveSheet()
アクティブシートを複製してアクティブシートにします。
function insertSheetWithDataSourceTableSample() {
// 以下のコードはアクティブシートを複製します。
SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
}
スプレッドシートクラス[Spreadsheet]のシート移動
スプレッドシート全体の既存シート移動メソッドです。
アクティブシート移動[moveActiveSheet(シート位置)]
moveActiveSheet(pos)
アクティブシートをシートリスト内の指定された位置に移動します。位置が負数またはシート数より大きい場合は、例外をスローします。
function moveActiveSheetSample() {
// この例では、現在アクティブなスプレッドシートに
// 2つのシートがあると仮定しています。
// 1つは "first"という名前のもので、もう1つは "second"という名前です。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName("first");
// これは 'Current index of sheet:1'を出力します
Logger.log("Current index of sheet: %s", sheet.getIndex());
spreadsheet.moveActiveSheet(2);
// これは 'New index of sheet:2'を出力します。
Logger.log("New index of sheet: %s", sheet.getIndex());
}
名前 | タイプ | 説明 |
---|---|---|
pos | Integer | シートのリスト内でアクティブなシートを移動する位置。 |
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Spreadsheet | Methods | moveActiveSheet(pos)
オブジェクトシートチャート移動[moveChartToObjectSheet(chart)]
moveChartToObjectSheet(chart)
新しいSheetType.OBJECTシートを作成し、提供されたチャートをそのシートに移動します。チャートがすでに独自のシートにある場合は、新しいシートを作成せずにそのシートが返されます。
function moveChartToObjectSheetSample() {
var sheet = SpreadsheetApp.getActiveSheet();
var chart = sheet.newChart().setPosition(1, 1, 0, 0).build();
sheet.insertChart(chart);
var objectSheet = SpreadsheetApp.getActive().moveChartToObjectSheet(chart);
}
名前 | タイプ | 説明 |
---|---|---|
chart | EmbeddedChart | 移動するチャート。 |
Return
Sheet - チャートがあるシート。
スプレッドシートクラス[Spreadsheet]のシート削除
スプレッドシート全体の既存シート削除メソッドです。
シート削除[deleteSheet(シート名)]
deleteSheet(sheet)
指定したシートを削除します。
function deleteSheetSample() {
// 以下のコードは指定されたシートを削除します。
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('My Sheet');
ss.deleteSheet(sheet);
}
名前 | タイプ | 説明 |
---|---|---|
sheet | Sheet | 削除するシート。 |
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Spreadsheet | Methods | deleteSheet(sheet)
アクティブシート削除[deleteActiveSheet()]
deleteActiveSheet()
現在アクティブなシートを削除します。
function deleteActiveSheetSample() {
// 以下のコードは現在アクティブなシートを削除し、
// 新しいアクティブシートを変数に格納します
var newSheet = SpreadsheetApp.getActiveSpreadsheet().deleteActiveSheet();
}
Return
Sheet - 新しいアクティブシート。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Spreadsheet | Methods | deleteActiveSheet()
最後に
GASシート挿入・複製・移動・削除機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント