Я хочу иметь возможность отправить электронное письмо на более 100 моих писем с вложением.Вложение должно быть редактируемым файлом Excel для получателей.Я могу получить к нему доступ в виде Excel или листов, в зависимости от того, что проще.
Я пробовал столько, сколько смог найти уже онлайн.И я могу отправить PDF, и я могу отправить ссылку Google Drive, которая предоставляет редактируемый документ листов;но я хочу, чтобы конечный пользователь мог просматривать и редактировать его, даже если у него нет Google Диска.
Этот файл успешно отправляет редактируемый файл PDF:
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1; // Number of rows to process
// Fetch the range of cells A2:B2
var dataRange = sheet.getRange(startRow, 1, numRows, 1);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var subject = 'Sending emails from a Spreadsheet'
var file = DriveApp.getFileById("xxxxxxxxx");
MailApp.sendEmail(emailAddress, subject, message, {attachments: [file]});
}
}
Я пробовал этот файл, чтобы иметь возможность прикрепить документ (в надежде редактируемый файл Excel), но я получаю код ошибки о том, чтодокумент отсутствует (хотя это тот же самый идентификатор документа, который я использую в приведенном выше примере, который работает):
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1; // Number of rows to process
// Fetch the range of cells A2:B2
var dataRange = sheet.getRange(startRow, 1, numRows, 1);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var subject = 'Sending emails from a Spreadsheet'
var file = DocumentApp.openById("xxxxxxxxx");
MailApp.sendEmail(emailAddress, subject, message, {attachments: [file]});
}
}
Я хотел, чтобы он отправил файл Excel, но он даже не найдет документдаже когда я использую тот же ID документа, который я использую в 1-м синтаксисе выше, который работает.
Это отправляет документ Excel ... но получателю не удается открыть.Это неправильно форматирование?
function getGoogleSpreadsheetAsExcel(){
try {
/*var ss = SpreadsheetApp.getActive();*/
var ss = DriveApp.getFileById("xxxxx");
var url = "https://docs.google.com/feeds/download/spreadsheets/Export?
key=" + ss + "&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("xxxx", "Google Sheet to Excel", "The
XLSX file is attached", {attachments: [blob]});
} catch (f) {
Logger.log(f.toString());
}
}