1

私はGoogleScriptsの完全な初心者であり、Googleスプレッドシートで収集されたデータをGmailアカウントに電子メールで送信する方法を見つける必要があります。

1日を通してカスタマーサービスの統計を記録するGoogleフォームを設定しています。回答はスプレッドシートに収集されます。スプレッドシートは、翌日の応答に備えて毎日クリアされます。私が見つける必要があるのは、収集されたすべての回答を1日の終わりにレポートで電子メールで送信する方法です。

これまでに行った検索から、getRangeとgetValuesが必要だと思いますが、シート上のすべてのデータを取得するためのコードを作成する方法がわかりません。スプレッドシートには常に4つの列が設定されていますが、生成される行数は、毎日収集される統計の数によって異なります。getLastRowでこの問題に対処できることがわかりましたが、getRangeおよびgetValuesでどのように使用しますか?

これを機能させるために非常に基本的なスクリプトを書いてみましたが、A1セルの値を電子メールで送信するだけです。すべてのデータが必要です。タイムトリガーを使用して、いつ実行するかを制御しました。私は何が間違っているのですか?

function emailStats() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var dataRange = sheet.getActiveRange().getValues();
  var subject = "Daily Report of Customer Service Statistics";
  MailApp.sendEmail("pnnmeetingroom@gmail.com", subject, dataRange);

}
4

1 に答える 1

0

変更点:

コード:

function emailStats() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var subject = "Daily Report of Customer Service Statistics";
  MailApp.sendEmail("pnnmeetingroom@gmail.com", subject, createTable(data));
}
于 2013-08-27T23:22:10.843 に答える