// exportのオプション
var fileTitle = "ファイル名";
var gdocUrl = 'https://docs.google.com/spreadsheets/';
var exportOptions = {
exportFormat: "pdf",
size: "7",
fzr: "false",
portrait: "false",
gridlines: "false",
printtitle: "false",
sheetnames: "false"
};
// メールのオプション
var mailConf = {
"to" : "dummy@mail.com",
"title" : "メール添付テスト",
"msg": "テストです。"
};
// 対象となるファイルとシート(この場合は最初のシート)
var ss = SpreadsheetApp.getActiveSpreadsheet();
var fileId = ss.getId();
var sheetId = ss.getSheets()[0].getSheetId();
// export用のURLを生成
var qs = [];
qs.push( "gid=" + sheetId );
for( paranName in exportOptions ){
qs.push( paranName + "=" + exportOptions[paranName] );
}
var fetchUrl = gdocUrl +'d/'+fileId+'/export?' + qs.join("&");
try{
// ファイルをUrlFetchで要求
var fetchOption = {
"headers" : { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() }, // OAuth
"muteHttpExceptions" : true
};
var fileName = fileTitle + "." + exportOptions.exportFormat;
var fileBlob = UrlFetchApp.fetch(fetchUrl,fetchOption).getBlob().setName(fileName);
// ファイルをドライブに保存
DriveApp.createFile(fileBlob);
// メール送信を実行
MailApp.sendEmail( mailConf.to, mailConf.title, mailConf.msg, {
attachments : [fileBlob]
});
} catch(e){
Logger.log( "ファイル生成に失敗しました" );
}