2016-09-29 8 views
1

をXLSXするシートを変換し、電子メールGoogleのスクリプト - 私はドライブのフォルダに新しいドキュメントを検索し、このコードを持って

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getActiveSheet(); 

var email = "[email protected]";  
var timezone = ss.getSpreadsheetTimeZone(); 

var today  = new Date(); 
var oneDayAgo = new Date(today.getTime() - 1 * 24 * 60 * 60 * 1000); 
var startTime = oneDayAgo.toISOString(); 

var search = '(trashed = false or trashed = false) and (modifiedDate > "' + startTime + '")'; 
var folder1 = DriveApp.getFoldersByName('SaveToPDF').next(); 
var files1 = folder1.searchFiles(search); 

var row = "", count=0; 

while(files1.hasNext()) { 

var file1 = files1.next(); 

var fileName = file1.getName(); 
var fileURL = file1.getUrl(); 
var lastUpdated = Utilities.formatDate(file1.getLastUpdated(), timezone, "yyyy-MM-dd HH:mm"); 
var dateCreated = Utilities.formatDate(file1.getDateCreated(), timezone, "yyyy-MM-dd HH:mm") 

row += "<li>" + lastUpdated + " <a href='" + fileURL + "'>" + fileName + "</a></li>"; 

sheet.appendRow([dateCreated, lastUpdated, fileName, fileURL]); 

count++; 
} 
if (row !== "") { 
row = "<p>" + count + " file(s) have changed in your Google Drive in the past 24 hours. Here's the list:</p><ol>" + row + "</ol>"; 
row += "<br><small>To stop these notifications, please <a href='" + ss.getUrl() + "'>click here</a> and choose <em>Uninstall</em> from the Drive Activity menu.<br/></small>"; 
MailApp.sendEmail(email, "Google Drive - File Activity Report", "", {htmlBody: row, cc: "[email protected]"}); 
    } 

経由でファイルを送信する私は、送信する前にフォーマットをXLSXするシートファイルを変換する必要があります。 誰かが私を助けることができますか?

おかげ

答えて

2

あなたはgetGoogleSpreadsheetAsExcel()メソッドを使用して、指定したユーザへの添付ファイルとしてファイルをエクセルXLSX形式に現在のGoogleスプレッドシートに変換する方法についてこのtutorialに従った後、電子メールすることができます。

:ここ

function getGoogleSpreadsheetAsExcel(){ 

    try { 

    var ss = SpreadsheetApp.getActive(); 

    var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + ss.getId() + "&exportFormat=xlsx"; 

    var params = { 
     method  : "get", 
     headers  : {"Authorization": "Bearer " + ScriptApp.getOAuthToken()}, 
     muteHttpExceptions: true 
    }; 

    var blob = UrlFetchApp.fetch(url, params).getBlob(); 

    blob.setName(ss.getName() + ".xlsx"); 

    MailApp.sendEmail("[email protected]", "Google Sheet to Excel", "The XLSX file is attached", {attachments: [blob]}); 

    } catch (f) { 
    Logger.log(f.toString()); 
    } 
} 

は役立つかもしれないいくつかの類似したスレッドです

関連する問題