私は毎週電子メールでGoogleシートのコンテンツを送信するスクリプトを作成しようとしています。Google AppsスクリプトでGoogleシートのコンテンツを送信
誰かが正しい方向に向かうことができますか?
EDIT:これはこれはあなたの電子メールへのXLSとしてシートをお送りしますボディで
私は毎週電子メールでGoogleシートのコンテンツを送信するスクリプトを作成しようとしています。Google AppsスクリプトでGoogleシートのコンテンツを送信
誰かが正しい方向に向かうことができますか?
EDIT:これはこれはあなたの電子メールへのXLSとしてシートをお送りしますボディで
にする必要があります。これを動作させてから、時間ベースのトリガーを設定します。また、これはプライベートシートであることに気付きます。メールが送信されてからプライベートに戻ってくる間に、すぐに公開されます。ここで
あなたのご提案ありがとうございました@OblongMedulla、私はより明確にすべきでした - それは必要です電子メールの本文に入れること。 –
function getGoogleSpreadsheetAsExcel(){
try {
var ss = SpreadsheetApp.getActive();
var sheet = DriveApp.getFileById(ss.getId());
// sets sharing to public - to send out email.
sheet.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
var url = "https://www.googleapis.com/drive/v3/files/" + ss.getId() + "/export?mimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&key=" + "YOUR_KEY_GOES_HERE";
var blob = UrlFetchApp.fetch(url).getBlob();
Logger.log(url);
blob.setName(ss.getName() + ".xlsx");
var now = new Date();
MailApp.sendEmail("YOUR_EMAIL_ADDRESS_GOES_HERE", "Backup " + now , "Backup " + now , {attachments: [blob]});
} catch (f) {
Logger.log(f.toString());
}
// returns the file back to Private access
sheet.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.EDIT);
}
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
var data = range.getValues();
var body = '';
for(var row in data) {
for(var col in data[row]) {
body += data[row][col] + '\t';
}
}
body += '\n';
}
Logger.log(body);
// MailApp.sendEmail('[email protected]', 'Director Dealings', body);
}
スプレッドシートから。
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
// 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";
MailApp.sendEmail(emailAddress, subject, message);
}
}
MailApp.sendEmail()
を使用する必要があります。このメソッドの4つのバージョンがあることに注意してください。
https://mailparser.io/blog/send-emails-from-google-spreadsheet/ –