- 公開日:
GASでスプレッドシートをコピーする方法
Google スプレッドシートではGoogle Apps Script(GAS)を使用して、シートをコピーすることが出来ます。
現在のスプレッドシートにコピー出来るのは勿論のこと、別のスプレッドシートを指定してコピーすることも出来るため非常に便利です。
この記事では、GASでスプレッドシートをコピーする方法を分かりやすく紹介します。
GASでスプレッドシートをコピーする方法
Google スプレッドシートでGASを利用してシートをコピーする場合、作成したスクリプトをエディタ上で実行します。
![「Apps Script」を順に選択](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas30.png)
①「拡張機能」、②「Apps Script」を順に選択します。
![「新しいプロジェクト」ボタンをクリック](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas31.png)
「新しいプロジェクト」ボタンをクリックします。
![名前を変更をクリック](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas32.png)
「名前を変更」をクリックします。
![名前を変更します](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas33.png)
①「プロジェクトタイトル(例:シートをコピーする)」を入力し、②「名前を変更」ボタンをクリックします。
![スクリプトをコピーして貼り付け](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas34.png)
下記のスクリプトをコピーして貼り付けます。
コピー先のシートをシートIDで指定し、現在のシートをコピーするスクリプトです。
function copySheetToAnotherSpreadsheet() {
// コピー元のスプレッドシートとアクティブシートを取得
var sourceSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = sourceSpreadsheet.getActiveSheet();
// コピー先のスプレッドシートIDを指定
var destinationSpreadsheetId = 'コピー先のスプレッドシートIDをここに入力';
// コピー先のスプレッドシートを取得
var destinationSpreadsheet = SpreadsheetApp.openById(destinationSpreadsheetId);
// コピー元のシートをコピーして、コピー先のスプレッドシートに追加
sourceSheet.copyTo(destinationSpreadsheet);
// 必要に応じてコピーしたシートの名前を変更
var newSheet = destinationSpreadsheet.getSheets().pop(); // 最後に追加されたシートを取得
newSheet.setName(sourceSheet.getName() + 'のコピー');
Logger.log('シートのコピーが完了しました');
}
![コピー先のシートIDを入力](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas35.png)
「destinationSpreadsheetId」にコピー先のシートIDを入力します。
現在のシートのシートIDを入力すれば、現在のシートにコピー出来ます。
以下の記事にて、シートIDの取得方法を詳しく解説しています。
![「プロジェクトを保存」ボタンをクリック](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas36.png)
「プロジェクトを保存」ボタンをクリックします。
![「実行」ボタンをクリック](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas41.png)
「実行」ボタンをクリックします。
![実行ログに「シートのコピーが完了しました」と表示される](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas38.png)
実行ログに「シートのコピーが完了しました」と表示されました。
![シートがコピーされる](https://g-tips.jp/wp-content/uploads/copy-spreadsheet-using-gas39.png)
シートIDで指定したスプレッドシートに、シートがコピーされました。