GAS独自関数の作成
今回は、Google Spreadsheetで実装する自分だけの関数、独自関数の作成です。
話は簡単です。
要するに、Google Spreadsheetからスクリプトエディタを開き、その中で関数を定義するだけ。
当然引数を持たせることが可能です。
ソースコード
具体的なソースコードは以下の通りです。
※関数名は好きなようにつけてください。
//引数に指定したシートのgidを取得
function wmap_getSheetId(sheet_name) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet_name);
var tmp = sheet.getSheetId();
return tmp;
}
//シート名をすべて取得
function wmap_getSheetsName(){
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sheet_names = new Array();
if (sheets.length >= 1) {
for(var i = 0;i < sheets.length; i++)
{
sheet_names.push(sheets[i].getName());
}
}
return sheet_names;
}
//関数を設置したシートのシート名を取得
function wmap_getSheetName(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var sheet_name = '';
sheet_name = sheet.getName();
return sheet_name;
}
//スプレッドシートのURLを取得
function wmap_getSpreadsheetURL(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ss_url = ss.getUrl();
return ss_url;
}
何気にシート名を取得したりする事は多かったりするので、この手の関数を用意しておくと便利です。
ついでに、wmap_getSheetsName()はfor文の中身を↓のようにして、[sheet_name_part]を書き換えれば、その文字列の含まれたシートだけを取得できます。結構便利です。
if(sheets[i].getName().match(/sheet_name_part/))
{
sheet_names.push(sheets[i].getName());
}
2017年10月3日(火)追記
表示されているシートのみのシート名取得および非表示のシート名のみのシート名取得
//表示されているシート名をすべて取得
function wmap_getSheetsName_NonHidden(){
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sheet_names = new Array();
if (sheets.length >= 1) {
for(var i = 0;i < sheets.length; i++) {
if(!sheets[i].isSheetHidden()) {
sheet_names.push(sheets[i].getName());
}
}
}
return sheet_names;
}
//非表示のシート名をすべて取得
function wmap_getSheetsName_Hidden(){
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var sheet_names = new Array(); if (sheets.length >= 1) {
for(var i = 0;i < sheets.length; i++)
{
if(sheets[i].isSheetHidden())
{
sheet_names.push(sheets[i].getName());
}
}
}
return sheet_names;
}