QUnit for Google Apps Script でユニットテストを行う手順

スポンサードリンク

QUnit for Google Apps Script のテスト結果。すべて合格♪

気がついたこと

  • プライベートメソッド(メソッド名の最後に「_」をつけたメソッド)でも試験が可能

テスト対象

こちらで作成した、getOtherRandomInt 関数をユニットテストしたいと存じます。

今回、その流れとテストコードをノートしますわ♪

QUnit for Google Apps Script を取り込む

“QUnit for Google Apps Script でユニットテストを行う手順”の続きを読む

【Google Apps Script】フォームの回答数を取得する方法

Google フォームの回答数を取得するコード

/**
 * フォームの回答数を取得します。
 *
 * @return {number} フォームの回答数
 */
function getResponseCount_() {
  var num = FormApp.getActiveForm().getResponses().length;
  return num;
}

“【Google Apps Script】フォームの回答数を取得する方法”の続きを読む


スポンサードリンク

【JavaScript】2次元配列を1次元配列に変換する、ならす方法【Google Apps Script】

ポイント

  • Array.prototype.concat.apply を使用する。
  • apply の第 1 引数は「[]」、第 2 引数は対象となる2次元配列

サンプルコード

arrayBefore =  [[8562],[1217],[2089],[9514],[891]];
var arrayAfter = Array.prototype.concat.apply([], arrayBefore);
console.log(arrayAfter); // [8562,1217,2089,9514,891]

“【JavaScript】2次元配列を1次元配列に変換する、ならす方法【Google Apps Script】”の続きを読む

【Google Apps Script】送信上限を超えてスクリプトからメール送信しようとするとどうなったか?

状況

  • 【Google Apps Script】メルマガ登録、配信システムを書いてみました♪ | oki2a24 とほぼ同じスクリプトで試した。
  • Google ドキュメントから Google Apps Script で書いたメルマガ送信プログラムを呼び出してメールを送信した。
  • TO は別の Google スプレッドシートのとある列に書いてあるメールアドレスを設定した。
  • メールアドレスは複数あるので、ループで回しながら MailApp.sendEmail を呼んだ。
  • 本日のメール送信数が残り 1 の時に、メルマガ送信を実行した。TO の対象は 5 アドレス。

結果

  • 送れるメールプラス 3 通送信された。つまり今回、4 通送信された。
  • 「1 日にサービス email を実行した回数が多すぎます。」とメルマガ送信を実行した Google ドキュメントにエラーメッセージが表示された。
  • 上限に達して送れないメールは、MailApp.sendEmail 関数自体が実行されないようだ。その後に書いた処理も実行されない。continue されるのか、break されるのか、スクリプト自体が終了するのかは謎
  • 上限プラス 2 〜 3 通は送信できたような感覚。誤差と考えるのがよさそう。
  • エラー表示後、MailApp.getRemainingDailyQuota 関数の返り値は -1。

“【Google Apps Script】送信上限を超えてスクリプトからメール送信しようとするとどうなったか?”の続きを読む

【Google Apps Script】メルマガ登録、配信システムを書いてみました♪

これらのページに従って、メルマガ配信を作ってみましたの。そのなかで、次の点を変更しましたわ。

  • 登録 ID は覚えやすいものにしたい → 長く覚えられないフォーム回答 ID ではなく、ユニークな乱整数を生成して使うようにした。
  • メルマガ作成はフォームから行う必要はない → ドキュメントのテンプレートを直接修正するようにした。
  • メルマガ本文の好きな場所に送信先の名前を入れたい → 変数 {name} を送信先の名前と置換するようにした。
  • メルマガ配信後、誰に送ったのかわかるようにしたい → スプレッドシートにメルマガ配信日時を追記するようにした。
  • メール送信残数を把握したい → 本日のメール送信残数をアラート表示するメニューをメルマガテンプレートドキュメントに追加
  • メルマガ解除フォームは不要 → 除外した。

今回、Google Apps Script (以下 GAS とも) を駆使して作っていった内容を残しておきますわ♪

“【Google Apps Script】メルマガ登録、配信システムを書いてみました♪”の続きを読む

Google フォームの回答スプレッドシートをいじったときの、次の回答追加場所は一番下のフォーム行の次の行

まとめ

フォームによって追加された行のことを、「フォーム行」と名づけます。

  • 一番下のフォーム行の下に、次のフォーム行は挿入される。
  • よって、一番下のフォーム行の下に入力した場合でも、入力した行の下ではない場所にフォームから挿入されることになる。
  • フォームによって最後に追加された行を削除した場合、残った一番下のフォーム行の下に、次のフォーム行が追加される。
  • 任意のフォーム行をシート入力範囲の一番下に移動すると、次のフォーム行はその下の行に追加される。

試してみたその1。フォーム行の下に手入力したら、次のフォーム行はどこに追加される?

“Google フォームの回答スプレッドシートをいじったときの、次の回答追加場所は一番下のフォーム行の次の行”の続きを読む

Google フォームと Google Apps Script を初めて触っての覚えておきたいことメモ♪

Google フォームを始めるには

  • Google ドライブから、新規 > その他 > Google フォーム
    Google ドライブから、新規 > その他 > Google フォーム、で作成
  • Google フォームを使って、アンケート、申し込みといったフォームを作ることができる。
  • こんな案内が表示された。Google フォームでできること。
    Google フォームでできること。1.作成。2.共有。3.送信。4.分析。

    1. 作成
      ショートカットと変更の自動保存を使うと、フォームをすばやく作成できます
    2. 共有
      他のユーザーとリアルタイムでフォームを共同作成できます
    3. 送信
      ユーザーを招待して、メールやソーシャル ネットワーク経由での回答をリクエストします
    4. 分析
      回答をスプレッドシートに送信すると、高度な分析ができます

作成した Google フォームをいじってみて

“Google フォームと Google Apps Script を初めて触っての覚えておきたいことメモ♪”の続きを読む