【初心者向けGAS】Google Apps Scriptで別の関数を呼び出すfunctionの書き方


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Google Apps ScriptでBotを作りながらその基本を学ぶシリーズをお届けしています。

前回の記事はコチラ。

【初心者向けGAS】チャットワークのマイチャットにメッセージを送る最も簡単な例
初心者向けGoogle Apps Scriptのシリーズとして、チャットワークのBotを作成する方法をお伝えしています。今回は、超簡単な例としてマイチャットにメッセージを送る方法と、APIトークンの取得の方法です。

GASでチャットワークAPIを操作してマイチャットにメッセージを送る方法についてお伝えしました。

もう、あとちょっとですね!

前回はテストで「テストメッセージ」と送っただけなので、今回はちゃんとBotとして名言を送るように仕込んでいきます。

その際に、関数から別の関数を呼び出すという方法を使ってみましょう。

では、Google Apps Scriptで別の関数を呼び出すfunctionの書き方です。

では、行ってみましょう!

これまでのおさらい

チャットワークのマイチャットにメッセージを送る部分

まず、前回お伝えしたのが、チャットワークAPIを使ってメッセージを送るという部分で、スクリプトは以下の通りでした。

ここで、送信するメッセージbodyを名言にしていけばよいわけですね。

あ、ちなみにライブラリ「ChatWorkClient for Google Apps Script」を使っていますので、まだ追加されていない方は、以下の記事を参考に追加してくださいね。

【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法
初心者向けGoogle Apps ScriptのシリーズとしてチャットワークのBotの作り方についてお伝えしています。今回はライブラリとは何か、またその追加の仕方についてお伝えしていきます。

スプレッドシートの上から順に名言をログ出力する

もう一つスクリプトを紹介します。

コチラの記事までで完成させたものですが、スプレッドシートの上から順に名言をログ出力するというものです。

こちらのスクリプトの7行目がLogger.logによるログ出力になっていますので、この部分を前述のメッセージ送信する処理に差し替えていけばよいわけですね。

関数の呼び出し

myFunctionの7行目に、testMessageの処理をボコーンとコピペして差し込んでもいいのですが、ちょっとここは工夫して楽な方法をとりましょう。

testMessageを改良したメッセージを送信する別の関数を呼び出すのです。

別の関数を呼び出す

関数から別の関数を呼び出すときには、このように記述します。

関数名(引数1, 引数2, …)

まず、関数名に開く&閉じる括弧をつける、と。

その際に、何らかの値を任意の数だけ持たせて呼び出すことができ、それを引数と言います。

今回の場合、チャットワークに送信するメッセージを文字列bodyとして渡して、sendMessageという関数にわたすのであれば前述のスクリプトの7行目を以下に変更すれば良いですね。

全体として

とすればOKです。

呼び出される関数の定義

呼び出される側の関数ですが、この定義をする必要があります。

記述の方法はですが、引数を受け取る必要がありますので、その分も踏まえると、functionの定義文は以下のような構文になります。

function 関数名(仮引数1, 仮引数2, …) {
 //何らかの処理
 return 戻り値;
}

呼び出す側の関数で引数が与えられれば、仮引数に格納されます。仮引数は、渡す引数と同じ数だけ用意してくださいね。

この仮引数は、その関数内で変数のように使用することができます。

また、return文は省略可能ですが、呼び出した関数に戻るときに、値を渡すことができます。それを戻り値と言います。

今回の例では、testMessageをベースに、sendMessageと変更して

とすれば良いです。

マイチャットに名言を送る

では、実行してみましょう。

myFunctionを3回連続で実行してみました。

GASでチャットワークに名言Botを送信

このようにマイチャットに名言が送られてきて、スプレッドシートには送信した名言にTRUEがが付与されますね。

GASでチャットワークに送信した後のスプレッドシート

これで…Bot完成ですね!

まとめ

以上、スプレッドシートの名言をチャットワークのマイチャットに送信するスクリプトを作成しました。

またその際の、別の関数を呼び出すfunctionの書き方、また引数の受け渡し方について解説しました。

機能を分けておくとわかりやすいですし、再利用しやすいので、ぜひ別のfunctionを作って部品化するテクニックも使ってくださいね。

次回は、時限式トリガーを使って、特定の時間に自動で実行させていきたいと思います。

【初心者向けGAS】時限式のイベントトリガーを設置して決まった時刻にBotを送信する方法
初心者向けGoogle Apps Scriptのシリーズとして、名言Botの作成の方法をお伝えしています。今回は、時限式のイベントトリガーを設置して決まった時刻にチャットワークにBot送信する方法です。

どうぞお楽しみに!

連載目次:超初心者向けGASでBotを作りながら基礎を学ぶ

Google Apps Script(GAS)をはじめるためのメリットは山程ありますが、何を作ったらいいの?と悩んでしまうこともありますよね。そんな時に、おすすめしたいのが「Bot」の作成です。このシリーズでは、超初心者向けにGASでBotを作る方法を題材としながら、GASプログラミングの一通りの流れと書き方について学んでいきます。
  1. 【初心者向けGAS】本当の最初の一歩!スクリプトエディタでプロジェクトを開く
  2. 【初心者向けGAS】はじめてのスクリプトを作成し、保存し、実行する
  3. 【初心者向けGAS】プログラミングに必須の変数の使い方とデータ型について
  4. 【初心者向けGAS】ログを表示するLogger.logの使い方
  5. 【初心者向けGAS】スクリプト実行時の「承認」でびっくりしないために
  6. 【初心者向けGAS】Spreadsheetサービスの「オブジェクト」の基礎の基礎を知ろう
  7. 【初心者向けGAS】スプレッドシートのシートを取得する2つの方法
  8. 【初心者向けGAS】スプレッドシートのセル・セル範囲とその値を取得する方法
  9. 【初心者向けGAS】for文を使ったスプレッドシートの繰り返しの超基本
  10. 【初心者向けGAS】条件分岐をするif文の使い方の超基本
  11. 【初心者向けGAS】スプレッドシートのセルに値を入力する基礎の基礎
  12. 【初心者向けGAS】条件に応じてループを制御する2つの方法~break文とwhile文~
  13. 【初心者向けGAS】スプレッドシートのセル範囲を行数・列数を使って取得する
  14. 【初心者向けGAS】スプレッドシートのセル範囲をクリアするいくつかの方法
  15. 【初心者向けGAS】Google Apps ScriptでWeb APIを活用するための基礎知識
  16. 【初心者向けGAS】面倒なことはライブラリに任せよう!その概要と追加の方法
  17. 【初心者向けGAS】チャットワークのマイチャットにメッセージを送る最も簡単な例
  18. 【初心者向けGAS】Google Apps Scriptで別の関数を呼び出すfunctionの書き方
  19. 【初心者向けGAS】時限式のイベントトリガーを設置して決まった時刻にBotを送信する方法
  20. 【初心者向けGAS】プロパティストアの概要とスクリプトプロパティの編集方法
  21. 【初心者向けGAS】スクリプトプロパティを操作してそのデータを取り出す方法
  22. 【初心者向けGAS】スプレッドシートのセル範囲の値を二次元配列として取得して取り扱う方法
  23. 【初心者向けGAS】チャットワークのメッセージ記法でBot送信するメッセージを装飾する方法
  24. 【初心者向けGAS】Google Apps Scriptのドキュメンテーションコメントの書き方

The following two tabs change content below.
株式会社プランノーツ代表、コミュニティ「ノンプロ研」主宰。1976年こどもの日生まれ。東京板橋区在住。「ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ ★フォロー頂ければ嬉しいです。

コメント