に送信するには、以下のスクリプトを使用してGoogleスプレッドシートをXLSXに変換して、このスクリプトは、私が使用するいくつかのスプレッドシートのために数週間前に働いていました。しかし、他のスプレッドシートからは、「壊れた」添付ファイルが添付されたメールが届きます。現在、私はそれを再び働かせることはできません、そして、私はコードとの互換性の問題を疑う。Google-Spreadsheet Script:XLSXバージョンの添付ファイルを添付した電子メールをバックアップ目的のために
誰かお手伝いできますか?
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());
}
}
「破損した」添付ファイルのサンプルが印刷画面として添付されています。まだXLSXとして登場しますが、ドキュメントが存在しないというHTMLコードです。しかし、スクリプトによって生成されるリンクは正しいです。手動で(生成されたリンクをブラウザにコピー/ペーストする)、それはうまく動作します。
壊れた添付ファイル: