スキップしてメイン コンテンツに移動

GAS初心者のシート操作術

GAS初心者のシート操作術

GAS初心者のためのシート操作入門

Google Apps Script(GAS)は、Google スプレッドシートを自動化するための強力なツールです。この記事では、GAS初心者が最初に覚えておくべきシート操作の基本を紹介します。主に扱うメソッドは getSheetByNameinsertSheetdeleteSheetsetNameactivatecopyTo です。これらを組み合わせることで、スプレッドシートの構造を自在に操作できます。

シートの取得と作成: getSheetByName と insertSheet

まずは既存のシートを取得する方法です。getSheetByName は名前でシートを検索し、見つからない場合は null を返します。

function getSheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('データ');
  if (!sheet) {
    Logger.log('シートが見つかりません');
    return;
  }
  Logger.log('シート取得成功: ' + sheet.getName());
}

次に、新しいシートを追加する insertSheet を使います。引数に名前を渡せば、指定名でシートが作成されます。

function addSheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const newSheet = ss.insertSheet('新規シート');
  Logger.log('作成されたシート: ' + newSheet.getName());
}

これで、シートの取得と作成が完了です。

シートの削除と名前変更: deleteSheet と setName

不要になったシートは deleteSheet で削除できます。削除前に確認を入れると安全です。

function deleteSheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('古いデータ');
  if (sheet) {
    ss.deleteSheet(sheet);
    Logger.log('シート削除完了');
  } else {
    Logger.log('削除対象のシートが存在しません');
  }
}

シート名を変更するには setName を使用します。名前の重複に注意してください。

function renameSheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('旧名');
  if (sheet) {
    sheet.setName('新しい名前');
    Logger.log('シート名変更完了');
  }
}

シート名変更は シート名変更 のキーワードに該当します。

アクティブシートとコピー: activate と copyTo

スクリプト内で特定のシートを作業対象にするには activate を使います。これにより、ユーザーが見ているシートと同じ状態にできます。

function activateSheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('作業シート');
  if (sheet) {
    sheet.activate();
    Logger.log('シートをアクティブにしました');
  }
}

シートを別の場所へコピーしたい場合は copyTo を利用します。コピー先のスプレッドシートを指定できます。

function copySheet() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const source = ss.getSheetByName('元シート');
  const target = SpreadsheetApp.openById('TARGET_SPREADSHEET_ID');
  source.copyTo(target);
  Logger.log('シートコピー完了');
}

この copyToシートコピー の操作に該当します。

この記事はAIによって作成されました。

コメント