【GAS】スプレッドシートの各シートのURLを取得する方法|getUrlとgetSheetId(Google Apps Script)

スプレッドシート・スプシspreadsheet GAS-prograshi(プロぐらし)-kv SpreadSheet
記事内に広告が含まれていることがあります。

Googleスプレッドシートには複数のシートを作成でき、各シートには固有のURLが存在しますが、手動でURLを取得するのは手間がかかります。

Google Apps Script(GAS)を使うとスプレッドシート内の各シートのURLを簡単に取得することができます。

本記事では、getUrl()関数とgetSheetId()関数を使って、シートのURLを自動取得する具体的な手順やコード例を詳しく解説します。スプレッドシートの管理を効率化したい方は必見です。


直接各シートのURLを取得する方法はない

GASには様々なメソッドが用意されていますが、直接各シートのURLを取得する方法はありません

ただし、便宜上1枚目(シートId=0)のシートのURLは取得できます。


1枚目のシートのURLの取得は可能(getUrl)

スプレッドシートを作成したときにデフォルトで作成されている1つ目のシート(シートidが「0」)のシートのURLを取得することは便宜上可能です。

スプレッドシートのURLを取得して、クリックすれば自動的に1枚目のシートにリダイレクトされます。

スプレッドシートのURLを取得するには「getUrl」メソッドを使います。

const ssid = "スプレッドシートのID"
const ss = SpreadsheetApp.openById(ssid);

const ssURL = ss.getUrl();


出力結果は以下のようになります。

https://docs.google.com/spreadsheets/d/スプレッドシートのID/edit


このURLを叩くとリダイレクトされ、以下のように1枚目のシートが表示されます。

https://docs.google.com/spreadsheets/d/スプレッドシートのID/edit?gid=0#gid=0



各シートのURLを指定する方法(getSheetId)

各シートのURLを取得するためには、シートのIDが必要です。

各シートを開いたときに表示される「?gid=シートのID」の部分です。例えば以下なら「1782537574」です。


各シートのIDの取得方法(getSheetId)


シートのIDを取得するためにはgetSheetIdメソッドを使います。

  const ssid = "スプレッドシートのID"
  const ss = SpreadsheetApp.openById(ssid);
  const sheet = ss.getSheetByName("シート名")
  const sheetId = sheet.getSheetId();

  console.log(sheetId);




各シートのURLの取得方法

各シートのURLを取得するにはgetUrlメソッドとgetSheetIDメソッドを組み合わせます。

  const ssid = "スプレッドシートのID"
  const ss = SpreadsheetApp.openById(ssid);
  const ssURL = ss.getUrl();

  const sheet = ss.getSheetByName("シート名")
  const sheetId = sheet.getSheetId();
  const sheetURL = ssURL + "?gid=" + sheetId;

  console.log(sheetURL);


これで以下のようなURLが取得できます。

https://docs.google.com/spreadsheets/d/スプレッドシートのID/edit?gid=1782537574


このURLを叩けば指定したスプレッドシートの各シートに飛ぶことができます。

タイトルとURLをコピーしました