🥱

私がGoogleAppsScriptでよく使う、おつまみメソッド

2021/03/26に公開
2

この記事の概要

もっと良い実装があれば、コメントいただけると嬉しいです!

intro

GoogleAppsScript(GAS) を書くあたって、割とよく使うメソッドや
定型化したコードがあるかと思います。
せっかくなのでブログに残しておくことにしました。

コード紹介

確認ダイアログを表示する

引数:質問文
戻り:yestrue, nofalse

function setDialog (question_text){
  const ui = SpreadsheetApp.getUi()
  const response = ui.alert(question_text, ui.ButtonSet.OK_CANCEL)
  if(response == ui.Button.OK){
    return true;
  }else{
    ui.alert('キャンセルしました', ui.ButtonSet.OK)
    return false
  }
}

入力フォームを表示し、値を取る

引数:表示文
戻り:入力値
注意:キャンセルと空白入力が同値になってしまう

function setInputForm(DispMessage){
  var element = Browser.inputBox(DispMessage,Browser.Buttons.OK_CANCEL)
  if(element == 'cancel'){
    Browser.msgBox('キャンセルしました')
    return''
  } else {
    return element
  }
}

現在の日時を指定したフォーマットで返す

引数:日付形式フォーマット
戻り:指定形式の現在時刻

function getNowInText(format){
// formatの例 'yyyy/MM/dd HH:mm'
  return Utilities.formatDate(new Date(), 'JST', format)
}

srcシートをdestシートとしてコピーする

引数:コピー元シートの名前, コピー先シートの名前

function createCopiedSheet(srcname,destname) {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  const srcSheet = ss.getSheetByName(srcname)
  const copiedSheet = srcSheet.copyTo(ss)
  copiedSheet.setName(destname)
}

Discussion

standard softwarestandard software

includeText は
list.includes(keyword)
で、よいのではないでしょうか。
V8じゃなくて、Rhinoじゃだめかも。

GASの記事、素敵ですね。