Google Apps Script でボタンから関数実行動画付きで解説。初心者向き
スプレッドシートから関数を実行できるようになりたい。
ボタンを不注意で押してしまいそう!!
この記事は、このような人が読むと大変価値のある記事です。
スプレッドシートから実行することができれば、GAS(Google Apps Script)を知らない人でも楽に実行できるようになりますよね。
この記事では、次の2つを解説していきます。
解説内容
「スプレッドシートのボタンから関数を実行する方法」
「ボタンを不用意に押さないようにする対策」
記事を読むことで、あなたの作成した関数を簡単に実行してもらえるようになりますよ!
記事の最後では、ボタンを設置するときの注意点を紹介してます。
私が、実務でGASによる自動化をしたときに得た知見ですので、最後まで読むととっても得です。
目次(クリックで読みたい部分にジャンプできます)
関数が紐づいたボタンの設置方法
まず、ボタンに関数を紐づける方法を解説していきます。
今回は、Google Apps Script に次のようなコードを書いて実装します。
GASの中身は、どんなコードを書いてもらっても大丈夫です!
ボタンに関数を紐づける
まず、適当なボタンを準備しておいてください。
そこに、関数を割り当てていきます。
これで、関数の割り当てができました!!
今回は、簡単な値を隣のセルに出力する関数を準備しています。
ボタンから、動くのかどうか実験してみます!
できました!!
ただ、これでは、少し不安な点があります。
ボタンをクリックしたらすぐ実行してしまう状況です。
なので、不用意に実行してしまう場合もあるでしょう。これでは、間違って押してしまうってことがあるので、不安ですよね。。。
【注意】ボタンを不用意に押さないようにする対策
ボタンを不用意に押してしまっても実行しないようにするために、確認アラートを出現させるようにしましょう。
実装するためには、以下のコードをコピペして関数の間に挟んでおく作業が必要です。
function alert() {//ダイアログを出す関数。
let result = Browser.msgBox("実行しますか?", Browser.Buttons.YES_NO);
if(result == "yes"){return true}
}
function myalert(){
if(alert()){//実行したい関数の間に挟んでおく。
myFunction();//実行したい関数。
}
}
function myFunction() {//実行したい関数の中身。自由記述。
sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
let text = sheet.getRange(1,1).getValue();
sheet.getRange(1,2).setValue(text)
}
ダイアログは、yesが押された時のみ、trueを返すようにしています。
つまり、「はい」を押された時しか、実行されません。
このように、ボタンを押したあとダイアログを挟むようにすれば、間違えて押してしまった時でもミスを防ぐことができます!
まとめ
スプレッドシートから、GASの関数を実行する方法、そして、その時に実装しておいた方がよい「ダイアログ」の設置方法について解説しました。