2021-06-22

現在開いているスプレッドシート名をユーザ定義関数で取得する

スプレッドシート名を動的に読み込み、ファイル内の特定セルに表示する方法について解説します。
月次レポートを毎月、ファイルごとに作成し、〇〇月_{ファイル名}レポートのような形式でシートのタイトルを作成させたかった、というのがはじまり。

スプレッドシートの標準機能には、ファイル名を取得する方法(関数等)がないようでしたので、ユーザ定義関数を用いて実現させました。

手順

①メニュー > ツール > スクリプトエディタをクリック

②エディタが開くので、コード.gsが選択されている状態で、下記のソースコードを入力

myFunctionは削除しても無視しても大丈夫。関数名はGET_FILE_NAMEと記載していますが、別の関数名、任意の名前を付与していただいてかまいません。

function GET_FILE_NAME()
{
  return SpreadsheetApp.getActiveSpreadsheet().getName();
}

③入力したコードを保存

フロッピーディスクのアイコンがクリッカブルになっているので、クリックし保存します。通常のエディタでファイルを保存するように、Ctr+sでも保存可能です。

④セルに作成した関数を入力

ファイル名を表示したいセルを選択し、先ほど作成した関数=GET_FILE_NAME()を入力します。

ファイル名を変更するとセルの表記も変更されます(反映されるのに時間差があります)。