• 公開日:

GASでスプレッドシートをコピーする方法

Google スプレッドシートではGoogle Apps Script(GAS)を使用して、シートをコピーすることが出来ます。

現在のスプレッドシートにコピー出来るのは勿論のこと、別のスプレッドシートを指定してコピーすることも出来るため非常に便利です。

この記事では、GASでスプレッドシートをコピーする方法を分かりやすく紹介します。

GASでスプレッドシートをコピーする方法

Google スプレッドシートでGASを利用してシートをコピーする場合、作成したスクリプトをエディタ上で実行します。

「Apps Script」を順に選択

「拡張機能」、②「Apps Script」を順に選択します。

「新しいプロジェクト」ボタンをクリック

「新しいプロジェクト」ボタンをクリックします。

名前を変更をクリック

「名前を変更」をクリックします。

名前を変更します

「プロジェクトタイトル(例:シートをコピーする)」を入力し、②「名前を変更」ボタンをクリックします。

スクリプトをコピーして貼り付け

下記のスクリプトをコピーして貼り付けます。

コピー先のシートをシート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を入力

「destinationSpreadsheetId」にコピー先のシートIDを入力します。

現在のシートのシートIDを入力すれば、現在のシートにコピー出来ます。

以下の記事にて、シートIDの取得方法を詳しく解説しています。

GASでスプレッドシートのシートIDを取得する方法

「プロジェクトを保存」ボタンをクリック

「プロジェクトを保存」ボタンをクリックします。

「実行」ボタンをクリック

「実行」ボタンをクリックします。

実行ログに「シートのコピーが完了しました」と表示される

実行ログに「シートのコピーが完了しました」と表示されました。

シートがコピーされる

シートIDで指定したスプレッドシートに、シートがコピーされました。