Google Apps Script MailApp.sendEmailのエラーについて
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." );
}
}
このようなコードで、Google SpreadSheetの内容をCSVファイルの添付としてメール送信しようとしています。
MailApp.sendemailのところでエラーが出てしまうのですが、どのようなエラーが出ているかわからず対処の仕様がわかりません。
いくつくエラーの内容を得るコードを調べたのですが、どれもうまくいっていません。
また、同じコードで別のシートであれば問題なく動作します。
よって、シートの内容にCSVにできない記載内容があるのかとも考えられますが、データは英数字とハイフン、ピリオドのみです。
よろしくお願いいたします。
追記
実行トランスクリプト
[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 秒)
エラーなく実行されていることになっていますが、
実際にはメールは送信されていません。