
[code]

    function attachmentsToCsvFile() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
      // You could use now Date(); on its own but it will not look nice.
      var date = Utilities.formatDate(new Date(), "GMT-4", "ddMMyyyy")
      var endDate = date
    
    
      var csvFileName = date + '.csv';
      var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
      var maxColumn = ss.getLastColumn();
      var maxRow    = ss.getLastRow();
      var data = ss.getRange(1,1,maxRow,maxColumn).getValues();
        if (data.length > 1) {
      var csv = "";
      for (var row = 0; row < data.length; row++) {
        for (var col = 0; col < data[row].length; col++) {
          if (data[row][col].toString().indexOf(",") != -1) {
            data[row][col] = "\"" + data[row][col] + "\"";
          }
        }
    
        if (row < data.length-1) {
          csv += data[row].join(",") + "\r\n";
        }
        else {
          csv += data[row];
        }
      }
      csvFile = csv;
    }
    
      var attachments = [{fileName:csvFileName, mimeType:'text/comma-separated- 
     values', content: csvFile}];
      try{
      MailApp.sendEmail("mymail@gmail.com", "CSV file", "CSV file", 
    {attachments:attachments});
    }catch(error){throw new Error( "More meaningful error." );
    }
    }
    
[/code]

このようなコードで、Google SpreadSheetの内容をCSVファイルの添付としてメール送信しようとしています。  
MailApp.sendemailのところでエラーが出てしまうのですが、どのようなエラーが出ているかわからず対処の仕様がわかりません。  
いくつくエラーの内容を得るコードを調べたのですが、どれもうまくいっていません。

また、同じコードで別のシートであれば問題なく動作します。  
よって、シートの内容にCSVにできない記載内容があるのかとも考えられますが、データは英数字とハイフン、ピリオドのみです。

よろしくお願いいたします。

### 追記

実行トランスクリプト

[code]

    [18-09-11 01:37:34:638 HKT] 実行を開始しています
    [18-09-11 01:37:34:654 HKT] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
    [18-09-11 01:37:34:762 HKT] Spreadsheet.getSheetByName([シート1]) [0.108 秒]
    [18-09-11 01:37:34:763 HKT] Utilities.formatDate([Mon Sep 10 10:37:34 PDT 2018, GMT-4, ddMMyyyy]) [0 秒]
    [18-09-11 01:37:34:764 HKT] SpreadsheetApp.getActiveSpreadsheet() [0 秒]
    [18-09-11 01:37:34:765 HKT] Spreadsheet.getSheetByName([シート1]) [0 秒]
    [18-09-11 01:37:35:559 HKT] Sheet.getLastColumn() [0.794 秒]
    [18-09-11 01:37:35:795 HKT] Sheet.getLastRow() [0.236 秒]
    [18-09-11 01:37:35:796 HKT] Sheet.getRange([1, 1, 3146, 9]) [0 秒]
    [18-09-11 01:37:36:516 HKT] Range.getValues() [0.719 秒]
    [18-09-11 01:37:38:403 HKT] MailApp.sendEmail([ikeda.kojiro@gmail.com, CSV file, CSV file, {attachments=[{fileName=10092018NYSE.csv, mimeType=text/comma-separated-values, content=Symbol,Description,Time,Symbol,priceopen,high,low,price,volume
    A,Agilent Technologie}]}]...) [0.133 秒]
    [18-09-11 01:37:38:413 HKT] 実行が無事終了しました（合計ランタイム 3.752 秒）
    
[/code]

エラーなく実行されていることになっていますが、  
実際にはメールは送信されていません。


CC BY-SA 4.0
2018-09-04T17:49:12.090
48086
2018-09-11T07:59:06.750
2018-09-11T07:59:06.750
19110
21201
question
google-apps-script
Google Apps Script MailApp.sendEmailのエラーについて


<https://developers.google.com/apps-script/reference/mail/mail-app>

を見るとコマンドが Void になってますが...これって？？？


CC BY-SA 4.0
2018-09-07T03:08:14.800
48164
2018-09-07T03:08:14.800
30019
48086
answer


皆様、お騒がせいたしました。  
他のシートでは問題なくスクリプトが実行されメールまで送信されることから、  
データになにか問題のある文字列が含まれていると考え、  
総当たりで探してみました。  
まったく理由はわかりませんが、"SBI"という文字列が問題を引き起こしているようです。  
その文字列のある行を削除することで、他のシートと同様に実行されました。  
"SB"や"SBIA"という文字列に書き換えることでも問題なく実行されるようになりました。  
何かのバグかと思います。


CC BY-SA 4.0
2018-09-10T17:45:15.917
48261
2018-09-10T17:45:15.917
21201
48086
answer